ecpg-sql-declare.md 1.5 KB
Newer Older
李少辉-开发者's avatar
李少辉-开发者 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
## 宣布

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)