如果在tMysqlRow中没有更新行,如何在Talend中构建条件分支?

zearum 发布于 2019-03-09 talend 最后更新 2019-03-09 14:35 14 浏览

在我的Talend工作中,我有一些xml文件。这些文件中的每一个都包含一个我将在UPDATE语句的WHERE子句中使用的字段。 我不会描述整个工作,以及我如何完成它,但只是一小段摘录:我通过使用tFileInputXML和tMysqlRow组件来对此进行建模。 在tMysqlRow组件中,我构建了一个更新查询,如下所示(简化):

"UPDATE `my_table`
SET `my_table`.`oneField` = '" + row1.ONEFIELD + "'
WHERE `my_table`.`id` = '" + row1.ID
这对我来说很好。但是我不明白如何在没有更新行的情况下对异常情况建模,因为在表中找不到ID。我知道有一个触发器“run if”,但我不知道如何正确使用它。 任何人都可以帮忙吗?
已邀请:

kautem

赞同来自:

我认为您应该使用前面的组件(tMap),它将通过定义表的ID列和XML中的ID列之间的连接来过滤XML文件的内容。 因为您的主流(row1)来自XML文件,所以您必须拒绝在数据库中找不到ID的行。那是(一个)tMap组件的作用。 您还可以查看tJoin组件,但我到目前为止还没有使用它。