↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1
预发布版本文档。 PostgreSQL 19beta4 为测试版本,最终发布内容可能有所不同。

DECLARE

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

描述

DECLARE 声明一个游标用来在一个预备语句的结果集上迭代。这个命令与直接的 SQL 命令 DECLARE 在语义上有一点点区别:后者会执行一个查询并且准备结果集用于检索,而这个嵌入式 SQL 命令仅仅声明一个名称作为“循环变量”用于在一个查询的结果集上迭代,实际的执行在游标被 OPEN 命令打开时才发生。

参数

cursor_name #

一个游标名称,大小写敏感。这可以是一个 SQL 标识符或者一个主变量。

prepared_name #

一个预备查询的名称,可以是一个 SQL 标识符或者一个主变量。

query #

一个提供游标要返回的行的 SELECT 或者 VALUES 命令。

游标选项的含义请见 DECLARE。

示例

为一个查询声明一个游标的例子:

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。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.