ページの先頭行へ戻る
Enterprise Postgres 10 アプリケーション開発ガイド
FUJITSU Software

D.11.4 DECLARE

名前

DECLARE -- カーソルを定義します。

記述形式

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は、プリペアード・ステートメントの結果セット全体を繰り返し処理するカーソルを宣言します。 このコマンドは直接的なSQLコマンドのDECLAREとは多少異なる意味を持ちます。 こちらは問い合わせを実行し、取り出し用の結果セットの準備を行いますが、埋め込みSQLコマンドでは、問い合わせの結果セット全体を繰り返す“ループ変数”の名前を宣言するだけです。 実際の実行はOPENコマンドでカーソルが開いた時に起こります。

パラメータ

cursor_name

カーソル名です。これはSQL識別子またはホスト変数とすることができます。

prepared_name

プリペアード・クエリの名前です。 SQL識別子またはホスト変数のいずれかです。

query

このカーソルで返される行を供給するSELECTまたはVALUESコマンドです。

カーソルオプションの意味についてはDECLAREを参照してください。

参照

SELECT、VALUE、DECLAREコマンドの詳細については、“PostgreSQL文書”の“リファレンス”の“SQLコマンド”を参照してください。

使用例

以下に問い合わせ用のカーソルを宣言する例を示します。

EXEC SQL DECLARE C CURSOR FOR SELECT * FROM My_Table END-EXEC.
EXEC SQL DECLARE C CURSOR FOR SELECT Item1 FROM T END-EXEC.
EXEC SQL DECLARE cur1 CURSOR FOR SELECT version() END-EXEC.

プリペアード・ステートメント用のカーソルを宣言する例を示します。

EXEC SQL PREPARE stmt1 AS SELECT version() END-EXEC.
EXEC SQL DECLARE cur1 CURSOR FOR stmt1 END-EXEC.

互換性

DECLAREは標準SQLで規定されています。

関連項目

OPEN, CLOSE, DECLARE

参照

CLOSE、DECLAREコマンドの詳細については、“PostgreSQL文書”の“リファレンス”の“SQLコマンド”を参照してください。