DECLARE
DECLARE — определить курсор
Синтаксис
DECLAREимя_курсора
[ BINARY ] [ ASENSITIVE | INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FORподготовленный_оператор
DECLAREимя_курсора
[ BINARY ] [ ASENSITIVE | INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FORquery
Описание
DECLARE
объявляет курсор для прохода по набору результатов подготовленного оператора. Эта команда несколько отличается от обычной SQL-команды DECLARE
: тогда как последняя выполняет запрос и подготавливает набор результатов для получения, встраиваемая SQL-команда просто объявляет имя в качестве «переменной цикла» для прохода по набору результатов запроса; фактически запрос выполнится, когда курсор будет открыт командой OPEN
.
Параметры
имя_курсора
#Имя курсора, задаётся с учётом регистра. Это может быть идентификатор SQL или переменная среды C.
подготовленный_оператор
#Имя подготовленного запроса, задаваемое 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 pgpro_version();
Пример объявления курсора для подготовленного оператора:
EXEC SQL PREPARE stmt1 AS SELECT pgpro_version(); EXEC SQL DECLARE cur1 CURSOR FOR stmt1;
Совместимость
Команда DECLARE
описана в стандарте SQL.