Выполнение многопараметрического (условного) запроса данных - PullRequest
0 голосов
/ 29 июня 2018

Я хотел бы создать задание, основанное на некоторых значениях в таблице A, выполнить запрос Select в таблице B, где WHERE CONDITION должна быть параметрической.

Например: у меня 10 столбцов в A с 100 заполненными строками. 9 моих столбцов могут быть обнуляемыми, поэтому мне нужно создать запрос, который контролирует обнуляемость значения, если ноль, то это НЕ должно рассматриваться как критерий исследования в операторе Select.

Я думал об использовании поиска SPARSE, в котором я передал бы созданную мной строку с конкатенацией параметров исследования, если они не равны NULL, но задание не выполняется, потому что вам нужно отобразить столбцы.

Я даже создал файл с запросами в виде строки, а затем зациклил файл и передал строку в качестве переменной для этапа соединения DB2. Это работает ... но у меня более 10000 строк означает 10000 запросов .. не так быстро.

Спасибо за вашу помощь.

PS: я новичок в этом деле: D

1 Ответ

0 голосов
/ 30 июня 2018

, что вы можете сделать, это использовать опцию «До SQL» на исходной / целевой стадии. А именно, ваша работа будет состоять как минимум из двух этапов. Один исходный каскад db2 и один копирующий или последовательный или последовательный или промежуточный каскад в качестве целевого генератора или генератора строк и целевого соединителя db2.

В вашем входном коннекторе db2 вы можете передать свой sql-скрипт в качестве параметра перед sql при условии, что он был сгенерирован заранее, и передать его в качестве значения до вашего sql db2-коннектора. Ваш фактический оператор SQL будет использовать сценарий «фиктивный», такой как «выберите текущую дату из sysibm.sysdummy1» для завершения выполнения.

Надеюсь, это имеет смысл.

...