## 宣布 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 ``` ## 描述 `宣布`声明一个游标,用于遍历准备好的语句的结果集。此命令与直接 SQL 命令的语义略有不同`宣布`:虽然后者执行查询并准备检索结果集,但该嵌入式 SQL 命令仅将名称声明为“循环变量”,用于迭代查询的结果集;实际执行发生在使用`打开`命令。 ## 参数 *`游标名`* 游标名称,区分大小写。这可以是 SQL 标识符或主机变量。 *`准备好的名字`* 准备好的查询的名称,可以是 SQL 标识符或主机变量。 *`询问`* 一种[选择](sql-select.html)或者[价值观](sql-values.html)命令将提供游标返回的行。 有关光标选项的含义,请参见[宣布](sql-declare.html). ## 例子 为查询声明游标的示例: ``` 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 标准中指定。 ## 也可以看看 [打开](ecpg-sql-open.html), [关闭](sql-close.html), [宣布](sql-declare.html)