2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: 開發版
不支援的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1

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 #

一個 SELECTVALUES 命令,它將提供遊標要返回的行。

有關遊標選項的含義,請參閱 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;

相容性

DECLARE 是 SQL 標準中指定的。

另請參閱

OPEN, CLOSE, DECLARE

提交更正

如果您在文件中發現任何不正確、與您對特定功能的經驗不符或需要進一步澄清的內容,請使用 此表格 報告文件問題。