17.10 - compound statement - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-171K-JPN
Language
日本語 (日本)

宣言と文のセットを囲むBEGIN-END文。

複合文には、ローカル変数宣言、カーソル宣言、条件ハンドラ宣言、SQL文および制御文を指定できます。

複合文の入れ子は可能です。

複合文に対してこれらのオプションを指定することができます。

label_name
プロシージャのBEGIN-END複合文のラベル、または繰り返し文(WHILE、LOOP、FOR、およびREPEAT)のラベル。
開始ラベルには最初にコロン(:)を付ける必要があります。終了ラベルは必須ではありませんが、終了ラベルを指定する場合は、対応する開始ラベルも指定する必要があります。
BEGIN-END複合文のラベル名は、繰り返し文の中で再使用できません。ラベル名は、入れ子になった複合文または入れ子になった繰り返し文のグループ内で再使用できませんが、入れ子になっていない別の繰り返し文または入れ子になっていない別の複合文で再使用することはできます。
SQLプロシージャで、入れ子になった複合文を指定する場合は、BEGIN-END複合文ごとにラベル名を使用することを推奨します。
ローカル変数は、変数が宣言されている対応する複合文のラベルを使用してオプションで修飾することもできます。これは、入れ子になった複合文におけるローカル変数の重複によって起こる可能性がある衝突を回避する際に役立ちます。
BEGIN
複合文の前に指定するキーワード。
プロシージャ本体を定義する複合文には、プロシージャのすべてのSQL文と宣言が入ります。
複合文はENDキーワードで終了する必要があります。
詳細は、<Teradata Vantage™ - SQLストアド プロシージャおよび埋め込みSQL、B035-1148>を参照してください。
statement_list
次のいずれか。
  • プロシージャによってサポートされているSQL DML、DDL、またはDCL文。これには、動的SQL文も含まれます。

    作成されるprocedure_nameを呼び出すCALL文を使用することもできます。

  • BEGIN-END複合文を含む、制御文。
statement_list内の文は、いくつでも使用できます。それぞれセミコロン(;)文字で終了する必要があります。
END
BEGIN-END複合文の終了キーワード。