条件ハンドラーに、ストアド プロシージャで処理される1つ以上の例外、完了、またはユーザー定義の条件を関連付けます。
ANSI準拠
DECLARE HANDLERは、ANSI/ISO SQL2011に準拠しています。
必要な権限
なし。
呼び出し
実行可能な制御宣言。
ストアド プロシージャのみ。
構文
DECLARE { CONTINUE | EXIT } HANDLER FOR { { sqlstate_state_spec | condition_name } [,...] | { SQLEXCEPTION | SQLWARNING | NOT FOUND } [,...] } handler_action_statement ;
構文要素
- sqlstate_state_spec
SQLSTATE [VALUE] sqlstate_code
- CONTINUE
- 実行するハンドラーアクションのタイプ。
- EXIT
- 実行するハンドラー アクションのタイプ。
- sqlstate_code
- 処理する5文字リテラルのSQLSTATEコード。
- SQLEXCEPTION
- 処理対象の一般条件。
- SQLWARNING
- 処理対象の一般条件。
- NOT FOUND
- 処理対象の一般条件。
- condition_name
- 処理する条件の名前を指定します。
- handler_action_statement
- ハンドラー アクションを定義する複合文に入った単一文または複合文。
使用上の注意
ハンドラー宣言内で、次のいずれかを指定できますが、両方は指定できません。
- SQLSTATE値や条件名のリスト
- 一般条件のリスト
同じ条件名、SQLSTATEコード、または一般条件を同じ複合文内のハンドラー宣言で繰り返すことはできません。
同じ複合文内のハンドラー宣言で、条件名とその条件名に関連付けられたSQLSTATE値の両方を指定することはできません。
関連情報
- SQLSTATEコードとその意味については、SQLSTATEのマッピングを参照してください。
- condition_nameについては、DECLARE CONDITIONを参照してください。
- 条件名、およびその条件名が関連付けられているSQLSTATE値については、条件ハンドラーのルールを参照してください。