DECLARE#

DECLARE

DECLARE

DECLARE — определить курсор

Синтаксис

DECLARE cursor_name [ BINARY ] [ ASENSITIVE | INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR prepared_name
DECLARE cursor_name [ BINARY ] [ ASENSITIVE | INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR query

Описание

DECLARE объявляет курсор для итерации по набору результатов подготовленного выражения. Эта команда имеет немного другую семантику, чем прямая SQL команда DECLARE: в то время как последняя выполняет запрос и подготавливает набор результатов для получения, эта встроенная SQL команда просто объявляет имя как переменную цикла для итерации по набору результатов запроса; фактическое выполнение происходит при открытии курсора с помощью команды OPEN.

Параметры

cursor_name

Имя курсора, учитывающее регистр. Это может быть идентификатором SQL или переменной хоста.

prepared_name

Имя подготовленного запроса, либо в качестве идентификатора SQL, либо в виде переменной хоста.

query

Команда SELECT или VALUES, которая предоставит строки, которые будут возвращены курсором.

Для значения параметров курсора см. DECLARE.

Примеры

Примеры объявления курсора для запроса:

EXEC SQL DECLARE C CURSOR FOR SELECT * FROM My_Table;
EXEC SQL DECLARE C CURSOR FOR SELECT Item1 FROM T;
EXEC SQL DECLARE cur1 CURSOR FOR SELECT version();

Пример объявления курсора для подготовленного выражения:

EXEC SQL PREPARE stmt1 AS SELECT version();
EXEC SQL DECLARE cur1 CURSOR FOR stmt1;

Совместимость

DECLARE указывается в стандарте SQL.

См. также

OPEN, CLOSE, DECLARE