DECLARE STATEMENT
DECLARE STATEMENT — объявляет идентификатор SQL-оператора
Синтаксис
EXEC SQL [ ATимя_подключения] DECLAREимя_оператораSTATEMENT
Описание
DECLARE STATEMENT объявляет идентификатор SQL-оператора. Идентификатор SQL-оператора может быть связан с соединением. Когда этот идентификатор используется динамическими SQL-операторами, они выполняются через связанное с ними подключение. Пространством имён является единица предкомпиляции, и несколько объявлений с одним и тем же идентификатором SQL-оператора не допускаются. Обратите внимание, что если предкомпилятор работает в режиме совместимости с Informix и объявлен некоторый SQL-оператор, в качестве имени курсора нельзя использовать «database».
Параметры
имя_подключенияИмя подключения к базе данных устанавливается командой
CONNECT.Предложение AT можно опустить, но такой оператор не имеет смысла.
имя_оператораИмя идентификатора SQL-оператора, которое может быть либо идентификатором SQL, либо переменной среды C.
Примечания
Эта связь действительна только в том случае, если объявление физически размещается сверху динамического оператора.
Примеры
EXEC SQL CONNECT TO postgres AS con1; EXEC SQL AT con1 DECLARE sql_stmt STATEMENT; EXEC SQL DECLARE cursor_name CURSOR FOR sql_stmt; EXEC SQL PREPARE sql_stmt FROM :dyn_string; EXEC SQL OPEN cursor_name; EXEC SQL FETCH cursor_name INTO :column1; EXEC SQL CLOSE cursor_name;
Совместимость
DECLARE STATEMENT — реализованное в PostgreSQL расширение стандарта SQL, которое также может использоваться в других популярных СУБД.
DECLARE STATEMENT
DECLARE STATEMENT — declare SQL statement identifier
Synopsis
EXEC SQL [ ATconnection_name] DECLAREstatement_nameSTATEMENT
Description
DECLARE STATEMENT declares an SQL statement identifier. SQL statement identifier can be associated with the connection. When the identifier is used by dynamic SQL statements, the statements are executed using the associated connection. The namespace of the declaration is the precompile unit, and multiple declarations to the same SQL statement identifier are not allowed. Note that if the precompiler runs in Informix compatibility mode and some SQL statement is declared, "database" can not be used as a cursor name.
Parameters
connection_nameA database connection name established by the
CONNECTcommand.AT clause can be omitted, but such statement has no meaning.
statement_nameThe name of an SQL statement identifier, either as an SQL identifier or a host variable.
Notes
This association is valid only if the declaration is physically placed on top of a dynamic statement.
Examples
EXEC SQL CONNECT TO postgres AS con1; EXEC SQL AT con1 DECLARE sql_stmt STATEMENT; EXEC SQL DECLARE cursor_name CURSOR FOR sql_stmt; EXEC SQL PREPARE sql_stmt FROM :dyn_string; EXEC SQL OPEN cursor_name; EXEC SQL FETCH cursor_name INTO :column1; EXEC SQL CLOSE cursor_name;
Compatibility
DECLARE STATEMENT is an extension of the SQL standard, but can be used in famous DBMSs.