DBEXECUTE
DBEXECUTE выполняет указанные SQL-инструкции для базы данных, подключенной с помощью драйвера ODBC. Он может выполнять запросы, транзакции, вызывать хранимые процедуры или функции.
Входные параметры могут быть получены через первый входной порт, а выходные параметры или набор результатов отправляются в первый выходной порт. Информация об ошибке может быть отправлена на второй выходной порт.
Порты DBEXECUTE:
Тип порта | Номер | Обязательный | Описание | Метаданные |
---|---|---|---|---|
Input | 0 | нет* | Входные записи для SQL запроса | Любые |
Output | 0 | нет** | Результат выполнения | Любые |
1 | нет | Ошибки выполнения | На основе входных метаданных |
* Входной порт должен быть подключен, если указан атрибут 'inParameters' или если через входной порт принимается весь SQL-запрос.
** Выходной порт должен быть подключен, если указаны выходные параметры запроса в 'outParameters' или атрибут 'outputFields'.
Атрибуты DBEXECUTE:
Атрибут | Обязательный | Описание | Возможные значения |
---|---|---|---|
dbConnection | да | Идентификатор соединения с БД, которое будет использоваться. |
|
sqlQuery | да | SQL-запрос. Содержит операторы SQL, которые следует выполнить для базы данных.
Если запрос состоит из нескольких операторов, они должны быть отделены друг от друга указанным разделителем операторов SQL. Операторы будут выполняться один за другим. |
|
inParameters | нет | Используется при вызове хранимой процедуры/функции с входными параметрами. Это последовательность следующего типа: 1:=$inputField1;…;n:=$inputFieldN. Значение каждого указанного поля ввода сопоставляется с соответствующим параметром (позиция которого в SQL-запросе равна указанному числу). | inParameters="1:=$srgKey;" |
outParameters | нет | Используется при вызове хранимой процедуры или функции с выходными параметрами или возвращаемым значением. Это последовательность следующего типа: 1:=$outputField1;…;n:=$outputFieldN. Значение каждого выходного параметра (определяемого его позицией в SQL-запросе) будет записано в указанное поле. | outParameters="2:=$customer_name;" |
outputFields | нет | Если хранимая процедура или функция возвращает набор данных, ее выходные данные будут сопоставлены с заданными полями вывода. Атрибут выражается как последовательность имен выходных полей, отделенных друг от друга точкой с запятой. | outputFields="1:=$square;2:=$cube" |
inTransaction | нет | Указывает, должны ли выполняться инструкции в транзакции. Применяется в случае, если база данных поддерживает транзакции. | SET (default) | ONE | ALL | NEVER_COMMIT |
url | нет | Содержит либо имя внешнего файла, содержащего SQL-запрос, либо строку, которая используется для чтения из входного порта. |
или
|
charset | нет | Кодировка внешнего файла, указанного в атрибуте url | charset="UTF-8" |
Пример. Очистка таблицы.
Шаг DB_EXECUTE можно использовать, например, для очистки таблицы перед заполнением её с помощью другого шага.
- Переместите DB_EXECUTE с палитры компонентов на рабочую область дизайнера
- Заполните его атрибуты:
Атрибут | Значение |
---|---|
dbConnection | conn0 (имя соединения) |
sqlQuery |
|
Таблица services
будет очищена.