DECLARE — 定义一个游标
DECLAREcursor_name[ BINARY ] [ ASENSITIVE | INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FORprepared_nameDECLAREcursor_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;
DECLARE 在 SQL 标准中有规定。