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
命令打开时才发生。
为一个查询声明一个游标的例子:
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;
SQL 标准中说明了DECLARE
。