名前
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コマンドでカーソルが開いた時に起こります。
パラメータ
カーソル名です。これはSQL識別子またはホスト変数とすることができます。
プリペアード・クエリの名前です。 SQL識別子またはホスト変数のいずれかです。
このカーソルで返される行を供給する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コマンド”を参照してください。