DECLARE#
DECLARE
DECLARE — определить курсор
Синтаксис
DECLAREcursor_name
[ BINARY ] [ ASENSITIVE | INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FORprepared_name
DECLAREcursor_name
[ BINARY ] [ ASENSITIVE | INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FORquery
Описание
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.