SQL-запрос

Компонент для выполнения SQL-запросов к внешним базам данных. Позволяет получать данные из корпоративных систем, обновлять записи или проверять наличие информации напрямую через SQL.

Компонент для выполнения SQL-запросов к внешним базам данных. Позволяет получать данные из корпоративных систем, обновлять записи или проверять наличие информации напрямую через SQL.

Компонент SQL-запрос

Настройка компонента

Секция «Общие свойства»

Поле

Описание

Название

По умолчанию «SQL-запрос». Можно изменить на своё — например, «Проверить остатки на складе» или «Загрузить клиентов из CRM»

Описание

Необязательное поле. Можно добавить комментарий для себя или коллег

Секция «Подключение»

Секция Подключение

Поле

Описание

Тип базы данных

Выбор протокола подключения. Доступны: PostgreSQL, MySQL, Oracle, MsSQL, Sqlite

Способ подключения

Два варианта: «Параметры» (указать данные подключения по отдельности) или «Строка подключения» (передать всё одной строкой)

Способ подключения: Параметры

При выборе «Параметры» появляются следующие поля:

Поле

Описание

Адрес сервера

Домен или IP-адрес сервера. Можно указать порт через двоеточие (например, 192.168.1.100:5432). Формат: текст в кавычках или выражение

База данных

Имя базы данных. Формат: текст в кавычках или выражение

Логин

Имя пользователя для подключения. Формат: текст в кавычках или выражение

Пароль

Пароль пользователя. Формат: текст в кавычках или выражение

Способ подключения: Строка подключения

При выборе «Строка подключения» появляется одно поле:

Поле

Описание

Строка подключения

Полная строка подключения со всеми параметрами. Синтаксис зависит от типа базы данных. Формат: текст в кавычках или выражение

Пример для PostgreSQL:

"postgres://user:password@host:port/dbname"

Способ подключения: Параметры

Секция «Запрос»

Секция Запрос

Поле

Описание

SQL-запрос

Текст запроса на SQL в синтаксисе выбранного типа базы данных. Можно использовать именные параметры. Формат: текст в кавычках или выражение

Параметры запроса

Список пар «параметр = значение / выражение». Значения подставляются вместо именных параметров в SQL-запросе

Два способа передать параметры:

  1. Через «Параметры запроса» — в SQL-запросе указываете :имя_параметра

  2. Через глобальные переменные сценария — используете синтаксис ${имя_переменной} прямо в тексте запроса

Пример через параметры:

  • SQL-запрос: "Select * from orders where id > :min_id"

  • Параметры запроса: min_id = {Минимальный ID}

Пример через переменные:

  • SQL-запрос: "Select * from orders where id > ${minId}"

  • (при условии, что в сценарии есть переменная minId)

Секция «Ответ»

Секция Ответ

Поле

Описание

Ожидать ответа

Да (по умолчанию) или Нет. Если выбрать Нет, компонент не дожидается результата запроса

Сохранить в

Имя переменной, в которую сохраняется результат запроса

Формат ответа: компонент возвращает массив строк. Каждая строка представлена в виде объекта, где ключи — имена колонок.

[ { "fieldname1": value, "fieldname2": value, ... }, ... ]

В «Сохранить в» можно указать ключ объекта и массив из строк сохранится как значения этого ключа.

Пример

Если указать в поле «Сохранить в» переменнуюdata.temp, то результат будет выглядеть следующим образом:

data: { "temp": [ { "fieldname1": value, "fieldname2": value, ... }, ... ] }

Пограничные события

Компонент поддерживает 2 типа пограничных событий:

  • Ошибка — выход из компонента, если произошла какая-либо ошибка

  • Таймаут — выход из компонента, спустя заданное ограничение по времени

Если компонент завершился с ошибкой, но на нем не было пограничного события, то процесс завершается. Сообщение ошибки возвращается в результатах процесса.