使用 OPEN 语句来激活游标。
元素 | 描述 | 限制 | 语法 |
---|---|---|---|
cursor_id | 游标的名称 | 必须已由 DECLARE 语句声明 | 标识符 |
cursor_id_var | 主变量 = cursor_id | 必须为字符数据类型 | 特定于语言 |
descriptor | 系统描述符区域的名称 | 必须已分配 | 用引号括起的字符串 |
descriptor_var | 标识系统描述符区域的主变量 | 必须已分配了系统描述符区域 | 用引号括起的字符串 |
parameter_var | 在准备好的 SQL 语句中以其内容替代问号(?)占位符的主变量 | 必须为字符或集合数据类型 | 特定于语言 |
sqlda_pointer | 指向 sqlda 结构的指针,定义数据类型和在准备好的语句中要代替问号(?)的值的内存位置 | 不可以美元($)符号或冒号(:)开头。您必须以动态的 SQL 语句使用 sqlda 结构。 | DESCRIBE 语句 |
请随同 GBase 8s ESQL/C 或随同 SPL 使用此语句。
游标是与返回有序的值集的 SQL 语句相关联的标识符。OPEN 语句激活 DELARE 语句定义的游标。
在以 SPL 语言编写的 UDR 中,OPEN 语句仅可引用 Select 或 Function 游标,且这些必须指定游标的标识符,而不是存储 cursor_id 的变量。OPEN 语句不可引用 SPL 的 FOREACH 语句已经声明的直接游标。
依赖于游标相关联的语句,数据库服务器执行的特定操作有所不同。在 ESQL/C 中,当您将先前的语句与游标直接地关联(即,您未准备该语句,且将该语句标识符与游标关联),OPEN 语句隐式地准备该语句。(这不是 SPL 例程中 OPEN 的特性,在 SPL 例程中 DECLARE 语句将游标与现有的准备好的语句的标识符相关联,而不是直接地与 SQL 语句文本相关联。)
在符合 ANSI 的数据库中,如果您试图打开一已经打开的游标,则会收到错误代码。