DECLARE CURSOR (動的SQL形式) - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQL ストアド プロシージャおよび埋め込みSQL

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/rop1530578142648.ditamap
dita:ditavalPath
ja-JP/rop1530578142648.ditaval
dita:id
B035-1148
Product Category
Software
Teradata Vantage

目的

準備された動的SQL文にカーソルを定義して名前を割り当てます。

呼び出し

実行不可プリプロセッサ宣言。

埋め込みSQLのみ。

構文



cursor_name
任意の有効なSQL識別子。
SCROLL
宣言されたカーソルが、FETCH指向の宣言に基づいて応答セット内の行を取り出せます。
SCROLLを指定しない場合、カーソルは応答セット内の次の行にのみスクロールできる。
動的SQLがSELECT文である場合に限ってSCROLLを使用してください。
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形式)を参照してください。