0

在我的 Talend 工作中,我有一些 xml 文件。这些文件中的每一个都包含一个字段,我将在 UPDATE 语句的 WHERE 子句中使用该字段。

我不会描述整个工作以及我是如何完成它的,而只会描述一小段摘录:我使用 tFileInputXML 和 tMysqlRow 组件对此进行了建模。

在 tMysqlRow 组件中,我构建了一个 UPDATE 查询,如下所示(简化):

"UPDATE `my_table`
SET `my_table`.`oneField` = '" + row1.ONEFIELD + "'
WHERE `my_table`.`id` = '" + row1.ID

这对我来说很好。但是如果没有更新的行,我不明白如何对异常情况建模,因为在表中找不到 ID。我知道有一个触发器“运行 if”,但我不知道如何准确地使用它。

有人可以帮忙吗?

4

1 回答 1

0

我认为您应该使用前面的组件 ( tMap ),该组件将通过定义的 ID 列和 XML 中的ID之间连接来过滤XML 文件的内容。

因为您的主要流程 (row1) 来自 XML 文件,所以您必须拒绝在数据库中找不到 ID 的行。这就是 tMap 组件的作用之一。

您也可以查看 tJoin 组件,但我直到现在才使用它。

于 2013-07-23T13:49:27.110 回答