在我的Talend作业中,我有一些xml文件。这些文件中的每一个都包含一个我将在UPDATE语句的WHERE子句中使用的字段。
我不会描述整个工作以及我是如何完成工作的,但只是一小段摘录:我通过使用tFileInputXML和tMysqlRow组件对此进行了建模。
在tMysqlRow组件中,我构建了一个UPDATE查询,如下所示(简化):
"UPDATE `my_table`
SET `my_table`.`oneField` = '" + row1.ONEFIELD + "'
WHERE `my_table`.`id` = '" + row1.ID
这对我来说很好。但是,如果没有更新的行,我不明白如何建模异常情况,因为在表中找不到ID。我知道有一个触发器“run if”,但我不知道如何使用它。
有人可以帮忙吗?
答案 0 :(得分:0)
我认为您应该使用前面的组件( tMap ),它会通过在 ID join 来过滤XML文件的内容> 表格的列和 XML 中的 ID 列。
因为您的主流(row1)来自XML文件,所以您必须拒绝在数据库中找不到ID的行。那是(一个)tMap组件的作用。
您还可以查看tJoin组件,但直到现在我还没有使用它。