EXECUTE STATEMENT
Выполнение динамически созданных SQL операторов.
PSQL
<execute_statement> ::=
EXECUTE STATEMENT <argument>
[<option> ...]
[INTO <variables>]
<argument> ::=
<paramless_stmt>
| (<paramless_stmt>)
| (<stmt_with_params>) (<param_values>)
<param_values> ::= <named_values> | <positional_values>
<named_values> ::=
[EXCESS] paramname := <value_expr>
[, [EXCESS] paramname := <value_expr> ...]
<positional_values> ::= <value_expr> [, <value_expr> ...]
<option> ::=
WITH {AUTONOMOUS | COMMON} TRANSACTION
| WITH CALLER PRIVILEGES
| AS USER user
| PASSWORD password
| ROLE role
| ON EXTERNAL [DATA SOURCE] <connect_string>
<connection_string> ::=
См. <filespec> в Синтаксис CREATE DATABASE
!!
<variables> ::= [:]varname [, [:]varname ...]
Параметр | Описание |
---|---|
paramless_stmt |
Строковый литерал или переменная, содержащая не параметризованный SQL запрос. |
stmt_with_params |
Строковый литерал или переменная, содержащая параметризованный SQL запрос. |
paramname |
Имя параметра SQL запроса. |
value_expr |
Выражение для получения значения параметра запроса. |
user |
Имя пользователя.Может быть строкой, |
password |
Пароль.Может быть строкой или переменной. |
role |
Роль.Может быть строкой, |
connection_string |
Строка соединения с удалённой БДМожет быть строкой или переменной. |
varname |
Переменная. |
Оператор EXECUTE STATEMENT
принимает строковый параметр и выполняет его, как будто это оператор DSQL.Если оператор возвращает данные, то с помощью предложения INTO
их можно передать в локальные переменные.