Динамический запрос в пакете служб SSIS - PullRequest
0 голосов
/ 10 июля 2009

У меня есть компонент «Команда OLE DB» в пакете служб SSIS, который выполняет оператор обновления для таблицы SQL. Теперь мое утверждение изначально выглядит так:

update myTable set columnA=?, columnB=? where columnC=?

Где три "?" - это входные данные для моего компонента из другого компонента условного разделения. Я могу связать каждое имя столбца с каждым входным параметром (?), Поэтому столбец A = param0, столбец B = param1.

Теперь мой запрос более сложен, мне нужно сделать;

update myTable set columnA=(param1+param2), columnB=(param2) where columnC=param1*param2

Как я могу сделать это в SSIS?

Ответы [ 2 ]

2 голосов
/ 10 июля 2009

Почему бы просто не получить производный столбец перед командой обновления и вычислить эти поля?

Создание новых столбцов с именами / значениями как таковыми:
столбец A = param1 + param2:
columnB = param2:
columnC = param1 * param2:

Затем перенаправьте вывод в команду обновления и используйте их в качестве параметров. Таким образом, вам не нужно делать какие-либо вычисления в вашем запросе, что делает пакет IS более чистым.

1 голос
/ 10 июля 2009

Да. Просто вычислите эти значения в преобразовании «Производный столбец» и используйте их вместо параметров, которые вы используете сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...