16.20 - DECLARE HANDLER(基本構文) - Teradata Vantage NewSQL Engine

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

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1148-162K-JPN

目的

条件ハンドラーに、ストアド プロシージャで処理される1つ以上の例外、完了、またはユーザー定義の条件を関連付けます。

呼び出し

実行可能な制御宣言。

ストアド プロシージャのみ。

構文



説明

CONTINUE
実行するハンドラーアクションのタイプ。
EXIT
実行するハンドラー アクションのタイプ。
sqlstate_code
処理する5文字リテラルのSQLSTATEコード。
有効なSQLSTATE値をカンマで区切っていくつでもリストで指定できますが、文の正常完了を表わす’00000’を使うことはできません。
SQLEXCEPTION
処理対象の一般条件。
一般条件のうちの1つ、またはその条件の任意の組み合わせを、カンマで区切ったリストにして指定することができます。
SQLWARNING
処理対象の一般条件。
一般条件のうちの1つ、またはその条件の任意の組み合わせを、カンマで区切ったリストにして指定することができます。
NOT FOUND
処理対象の一般条件。
一般条件のうちの1つ、またはその条件の任意の組み合わせを、カンマで区切ったリストにして指定することができます。
condition_name
処理する条件の名前を指定します。
handler_action_statement
ハンドラー アクションを定義する複合文に入った単一文または複合文。
ハンドラー アクションは、特定の例外または完了状態がアプリケーションに戻された場合、または、ユーザー定義条件が発生した場合に実行されます。
文は、以下のいずれかになります。
  • ストアド プロシージャでサポートされるDML、DDL、またはDCL文。これには、動的SQLが含まれます。
  • 制御文(入れ子の複合文も含む)
宣言(ローカル変数、条件、カーソル、またはハンドラ)文は、ハンドラーアクションでは単一文としては使用できません。これは、複合文の中から実行依頼できます。

ANSI準拠

DECLARE HANDLERは、ANSI/ISO SQL2011に準拠しています。

許可

なし。

使用上の注意

ハンドラー宣言内で、次のいずれかを指定できますが、両方は指定できません。
  • SQLSTATE値や条件名のリスト
  • 一般条件のリスト

同じ条件名、SQLSTATEコード、または一般条件を同じ複合文内のハンドラー宣言で繰り返すことはできません。

同じ複合文内のハンドラー宣言で、条件名とその条件名に関連付けられたSQLSTATE値の両方を指定することはできません。

関連トピック

以下に関する詳細な情報