PostgreSQL DECLARE

2021-09-02 15:09 更新

DECLARE — 定義一個(gè)游標(biāo)

大綱

DECLARE cursor_name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR prepared_name
DECLARE cursor_name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR query

描述

DECLARE聲明一個(gè)游標(biāo)用來在一個(gè)預(yù)備語句的結(jié)果集上迭代。這個(gè)命令與直接的 SQL 命令DECLARE在語義上有一點(diǎn)點(diǎn)區(qū)別:后者會執(zhí)行一個(gè)查詢并且準(zhǔn)備結(jié)果集用于檢索,而這個(gè)嵌入式 SQL 命令僅僅聲明一個(gè)名稱作為“循環(huán)變量”用于在一個(gè)查詢的結(jié)果集上迭代,實(shí)際的執(zhí)行在游標(biāo)被OPEN命令打開時(shí)才發(fā)生。

參數(shù)

cursor_name

一個(gè)游標(biāo)名稱,大小寫敏感。這可以是一個(gè) SQL 標(biāo)識符或者一個(gè)主變量。

prepared_name

一個(gè)預(yù)備查詢的名稱,可以是一個(gè) SQL 標(biāo)識符或者一個(gè)主變量。

query

一個(gè)提供游標(biāo)要返回的行的SELECT或者VALUES命令。

游標(biāo)選項(xiàng)的含義請見DECLARE。

例子

為一個(gè)查詢聲明一個(gè)游標(biāo)的例子:

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();

為一個(gè)預(yù)備語句聲明一個(gè)游標(biāo)的例子:

EXEC SQL PREPARE stmt1 AS SELECT version();
EXEC SQL DECLARE cur1 CURSOR FOR stmt1;

兼容性

SQL 標(biāo)準(zhǔn)中說明了DECLARE。

參見

OPEN, CLOSE, DECLARE


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號