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は、プリペアド文の結果セット全体を繰り返し処理するカーソルを宣言します。
このコマンドは直接的なDECLARESQLコマンドとは多少異なる意味を持ちます。
こちらは問い合わせを実行し、取り出し用の結果セットの準備を行いますが、埋め込み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;
互換性
DECLAREは標準SQLで規定されています。