首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tmysqlrow受delete影响的Talend get行

tmysqlrow受delete影响的Talend get行
EN

Stack Overflow用户
提问于 2018-02-01 14:34:32
回答 1查看 1.3K关注 0票数 1

我对“天才工作”有意见。我需要删除穹顶行(查询将由以前的组件提供)。为了简化,我这样做:

如果取消选中“传播查询记录集”,则作业将完全运行。但是,在检查之后(我在MSSQL中使用了相同类型的组件,而没有问题),该作业在错误消息中失败:

代码语言:javascript
复制
Can not issue data manipulation statements with executeQuery().

并在组件连接的附加参数中指定"AllowMultiQueries“。

这是一种用tmysqlrow删除行数的方法吗?我希望防止在tmysqlinput之前使用,然后获取计数(*),然后删除。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-01 17:36:37

一个简单的解决方案是使用tMysqlRow来处理删除,然后使用tMysqlInput返回已删除的行数:

DELETESELECT必须使用相同的连接发出,因此必须使用tMysqlConnection,在末尾必须有tMysqlCommit (除非您在连接上使用了自动提交(顺便说一下,不应该使用自动提交),否则tMysqlCommit是提交更改的必要条件)

替代解决方案

下面是另一种解决方案,在该解决方案中,我发送一个ID列表(在tFixedFlowInput中定义,但很可能从file..etc中读取)删除到tMysqlOutput (对数据集的操作设置为Delete),并将id列设置为组件模式中的键:

然后,您可以简单地使用tMysqlOutput_NB_LINE_DELETED全局变量来获取已删除的行数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48565198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档