Выполнить произвольный SQL-код | Execute SQL

Нода позволяет выполнить код, написанный на языке SQL.

С релиза 1.17.0 DVT данная нода выводит результат SQL-запроса как датафрейм, а не только сигнал выполнения: запросы типа SELECT возвращают данные, которые можно передать дальше по пайплайну. А в релизе 1.19.3 DVT был реализован функционал, при котором если SQL-запрос возвращает одну строку, значения колонок автоматически становятся переменными, которые можно использовать в других нодах пайплайна.

Переменные в SQL

Для подстановки значения используйте Jinja — двойные фигурные скобки:

SELECT id, amount FROM sales WHERE amount >= {{ project_variables.min_amount }}

В примере min_amount — числовая переменная проекта. Если значение передано из предыдущей ноды, напишите {{ input_variables.min_amount }} и соедините VARIABLE-порты. Подставляется значение переменной, а не её имя.

В позиции строкового значения DVT сам добавляет SQL-кавычки и экранирует апострофы: например, WHERE region = {{ project_variables.region }}. Здесь дополнительные кавычки вокруг подстановки не нужны.

Таблица sales и колонки приведены для примера. Замените их на существующие в вашем источнике. Подробнее: переменные в SQL.