Pentaho Kettle - 如何根据结果集生成更新查询?

Posted

技术标签:

【中文标题】Pentaho Kettle - 如何根据结果集生成更新查询?【英文标题】:Pentaho Kettle - How to produce update query based on result set? 【发布时间】:2014-11-04 10:50:06 【问题描述】:

我想出了来自 pentaho spoon 的Insert query generator,它以一组 SQL 语句的形式将输入数据写入文本文件。

我想知道是否有任何方法可以与此类似但根据输入生成更新查询。

【问题讨论】:

【参考方案1】:

好吧,如果您需要根据与您的流相比的一些关键列来更新表,您可以使用Insert/Update 步骤。

缺点是它不会在文件中生成语句,它会根据比较执行更新或插入,仅此而已。

你能提供更多关于你的场景的细节吗?我们可以一起解决问题。 为什么需要一个带有 UPDATE 语句的文件? 我们不能连接到数据库并立即运行更新吗?

【讨论】:

感谢您的回复,插入/更新步骤直接将数据插入到表中。我需要一个用于更新的 sql 语句。问题是有很多数据库,需要更新查询,以便它可以轻松地在服务器上运行,而无需在服务器端使用其他数据库。 您是否尝试过“合并行(差异)”步骤?它标记需要更新的行。我很确定您可以使用它来过滤要更新的行并使用公式字段来生成包含所有列的语句。【参考方案2】:

请务必使用“动态 SQL 行”步骤。

【讨论】:

以上是关于Pentaho Kettle - 如何根据结果集生成更新查询?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Pentaho-Kettle 中基于动态选择的 sql 查询中获取结果集?

Pentaho Kettle:邮寄转换的结果

如何使用 Kettle Pentaho 删除远程文件

如何在 Pentaho Data Integration (Kettle) 中合并两个文件

如何在 Pentaho Data Integration (Kettle) 中向文件添加行号?

如何在 Pentaho 数据集成 (Kettle) 中的“用户定义的 Java 类”步骤中获取所有参数