Сохранить результат сценария pl sql в переменной Kettle - PullRequest
0 голосов
/ 09 апреля 2020

То, что я хочу сделать, это сохранить результат сценария PL SQL в переменной преобразования чайника.

Этот сценарий находится на шаге ввода таблицы и в основном создает для меня оператор выбора. и помещает его в переменную varchar этого сценария PL SQL.

DECLARE

Statement VARCHAR(2000);

BEGIN

-- Here happens some stuff

Statement := 'select * from Foo';

END;

Я просто не могу понять, как сопоставить переменную Statement с той, которая существует в Преобразовании чайника.

Есть идеи?

1 Ответ

1 голос
/ 14 апреля 2020

Через пару дней мне удалось это решить. Когда я написал вопрос, я не понял, что простой сценарий PL SQL ничего не возвращает. Решение на самом деле очень простое:

  1. Создание новой трансформации в ложке.
  2. Создание функции PL SQL (которая, конечно, имеет возвращаемое значение).
  3. Внутри нового преобразования создайте шаг «Ввод таблицы», и там вы сможете вызвать функцию следующим образом:

    select myFunction ('$ someParameter') AS Statement FROM dual

  4. Если вы хотите предоставить некоторые параметры для функции, как я сделал, обязательно отметьте «заменить переменные в скрипте» на шаге ввода таблицы.

  5. Подключите этот шаг с шагом «Задать переменные» (также работает «Копировать строки в результат»), и в моем случае я добавил поле «Оператор» к шагу с новой переменной, допустимой в родительском задании.

...