目的
準備された動的SQL文にカーソルを定義して名前を割り当てます。
呼び出し
実行不可プリプロセッサ宣言。
埋め込みSQLのみ。
構文
- cursor_name
- 任意の有効なSQL識別子。
- SCROLL
- 宣言されたカーソルが、FETCH指向の宣言に基づいて応答セット内の行を取り出せます。
- statement_name
- 以前に準備された文に関連付けられた名前。
ANSI準拠
ANSI/ISO SQL:2011準拠。
許可
なし。
有効に準備された動的SQL文。
- 単一の、データを返さない非マクロ文。
- 単一のSELECT文(INTO句なしで指定すること)。
- 単一のEXEC macro_name文。
- 上記のどの文でも組み込むことができる複文リクエスト。
ルール
- statement_nameで指定した文をPREPAREしてから、そのトランザクション内で動的カーソルをOPENしなければなりません。
- 与えられたstatement_nameに対して宣言できる動的カーソルは1つだけです。
- SELECT AND CONSUMEカーソルに対するDELETEまたはUPDATE埋め込みSQL文は指定できません。
キュー テーブルのカーソルは、PP2 ANSIモードでは常に読み取り専用になります。このため、PP2 ANSIモードのキュー テーブル カーソルに対しては、位置指定されたDELETEまたはUPDATE(つまり、最後に取り出されたカーソル行の削除または更新)を指定できません。
- PP2 ANSIモードの複文リクエストでは、スクロール可能カーソルを使用できません。
例: 動的なDECLARE CURSOR文の使用
動的DECLARE CURSOR文の形式は次のとおりです。
DECLARE Ex CURSOR FOR DynStmt7
関連トピック
SCROLLの詳細については、FETCH (埋め込みSQL形式)を参照してください。