条件は、現在のプログラムブロックの終了や実行の続行などの、特殊な処理が必要なストアドプログラムの実行中に発生する可能性があります。 警告や例外などの一般的な条件、または特定のエラーコードなどの具体的な条件に対してハンドラを定義できます。 具体的な条件には名前を割り当てることができるため、ハンドラではその名前で参照できます。
条件に名前を付けるには、DECLARE ... CONDITION
ステートメントを使用します。 ハンドラを宣言するには、DECLARE ... HANDLER
ステートメントを使用します。 セクション13.6.7.1「DECLARE ... CONDITION ステートメント」およびセクション13.6.7.2「DECLARE ... HANDLER ステートメント」を参照してください。 条件が発生したときにサーバーがハンドラを選択する方法については、セクション13.6.7.6「ハンドラのスコープに関するルール」を参照してください。
条件を発生させるには、SIGNAL
ステートメントを使用します。 条件ハンドラ内で条件情報を変更するには、RESIGNAL
を使用します。 セクション13.6.7.1「DECLARE ... CONDITION ステートメント」およびセクション13.6.7.2「DECLARE ... HANDLER ステートメント」を参照してください。
診断領域から情報を取得するには、GET DIAGNOSTICS
ステートメントを使用します (セクション13.6.7.3「GET DIAGNOSTICS ステートメント」を参照してください)。 診断領域については、セクション13.6.7.7「MySQL の診断領域」を参照してください。