2013-04-11 3 views
0

В моей работе Talend у меня есть xml-файлы. Каждый из этих файлов содержит поле, которое я буду использовать в предложении WHERE инструкции UPDATE.Как построить условную ветвь в Talend, если ни одна строка не была обновлена ​​в tMysqlRow?

Я не буду описывать всю работу и то, как я это сделал, но только небольшой отрывок: я смоделировал это, используя tFileInputXML и компонент tMysqlRow.

В компоненте tMysqlRow я построил UPDATE запрос вроде следующего (упрощенный) один:

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

Это прекрасно работает для меня. Но я не понимаю, как моделировать случай exceptionnel, если обновленных строк не будет, поскольку идентификатор не найден в таблице. Я знаю, что есть триггер «run if», но я не использую его точно.

Может ли кто-нибудь помочь?

ответ

0

Я думаю, вы должны использовать предыдущий компонент (TMAP), который будет фильтровать содержимое файлов XML, определяя присоединиться между ID колонке вашего таблицы и ID столбца ваш XML.

Поскольку ваш основной поток (строка1) исходит из XML-файлов, вам необходимо отклонить строки, в которых идентификаторы не будут найдены в базе данных. Это (одна из) роль компонента tMap.

Вы также можете посмотреть на компонент tJoin, но я до сих пор не использовал его.

 Смежные вопросы

  • Нет связанных вопросов^_^