目的
選択カーソルに対して名前を定義し、割り当てます。
呼び出し
実行不可プリプロセッサ宣言。
埋め込みSQLのみ。
構文
- cursor_name
- このカーソルに割り当てる名前。
- SCROLL
- 宣言されたカーソルが、FETCH指向の宣言に基づいて応答セット内の行を取り出せます。
- COMMENT
- コメントを返す有効なSQL COMMENT文。
- EXPLAIN
- 有効なSQL EXPLAINリクエスト修飾子。
- HELP
- 有効なSQL HELP文。
- SHOW
- 有効なSQL SHOW文。
- SELECT
- 有効な埋め込みSQL SELECT文。
- SELECT AND CONSUME
- 有効な埋め込みSQL SELECT AND CONSUME文。
ANSI準拠
ANSI/ISO SQL:2011準拠(Teradata拡張機能を追加)。
許可
なし。
ルール
SQL WITH…BY句を指定することはできません。
カーソル宣言に指定された全てのテーブル、またはそれらのテーブルを格納するデータベースに対するSELECT権限が必要です。
カーソル指定で参照される各ホスト変数は、DECLARE CURSOR文より先に定義しなければなりません。
- WHERE
- GROUP BY
- HAVING
UNION演算子を指定する場合、合併内の各結果表の記述は、列名を除いて同一でなければなりません。結果テーブルの合併によって形成されるスプール テーブルのすべての列には名前がありません。
結果はUNION内の各クエリーの個々の結果テーブルの合併になり、重複行は除去されます。
ORDER BY句を指定すると、それぞれの列指定では、スプール テーブルの列を名前で指定する必要があります。
ORDER BY句の符号無し整数列参照には、スプール テーブルの列を相対番号で指定する必要があります。
名前付き列は、列指定または符号無し整数のいずれかによって参照できます。
名前のない列は、符号無し整数によって参照しなければなりません。
SELECT AND CONSUMEカーソルに対するDELETEまたはUPDATE埋め込みSQL文は指定できません。
キュー テーブルのカーソルは、PP2 ANSIモードでは常に読み取り専用になります。このため、PP2 ANSIモードのキュー テーブル カーソルに対しては、位置指定されたDELETEまたはUPDATE(つまり、最後に取り出されたカーソル行の削除または更新)を指定できません。
PP2 ANSIモードの複文リクエストでは、スクロール可能カーソルを使用できません。
例: DECLARE CURSORを使用したproj_idによるプロジェクトの整列
DECLARE ex1 CURSOR FOR SELECT * FROM project ORDER BY proj_id
例: DECLARE CURSORを使用した番号によるプロジェクトの整列
DECLARE ex3 CURSOR FOR SELECT a, b, ’X’ FROM tablex WHERE a > b UNION (SELECT a, b, ’Y’ FROM tabley WHERE a > b INTERSECT SELECT a, b, ’Y’ FROM tablez WHERE a > b) ORDER BY 1,2
例: DECLARE CURSORを使用したdeptnameとnameによるプロジェクトの整列
DECLARE ex2 CURSOR FOR EXPLAIN SELECT deptname, name FROM employee, department WHERE employee.deptno = department.deptno ORDER BY deptname, name
例: HELP TABLE employeeに対するDECLARE CURSORの使用
DECLARE ex4 CURSOR FOR HELP TABLE employee
関連トピック
- SCROLLについては、FETCH (埋め込みSQL形式)を参照してください。
- COMMENTについては、<Teradata Vantage™ SQLデータ定義言語の構文規則および例、B035-1144>の「COMMENT」を参照してください。
- EXPLAINについては、<Teradata Vantage™ SQLデータ操作言語、B035-1146>の「EXPLAIN修飾子」を参照してください。
- SHOWについては、<Teradata Vantage™ SQLデータ定義言語の構文規則および例、B035-1144>の「SHOW」を参照してください。
- SELECTとSELECT AND CONSUMEについては、ルールに列挙された制限事項に注意する必要があります。