MySQL ストアドプロシージャの例外処理はどのように処理されていますか?

MySQLストアドプロシージャは、次のように例外処理を行うことができます。

  1. DECLARE文で例外変数を宣言し、HANDLER文で例外処理を行う。例:
DECLARE exit HANDLER FOR sqlexception
BEGIN
    -- 处理异常的代码
    ...
END;
  1. 例外処理ではTRY…CATCHブロックを使います。TRYブロック内でコードを実行し、例外が発生した場合にCATCHブロックに飛びます。例:
BEGIN
    -- 执行代码
    ...
END TRY
BEGIN CATCH
    -- 处理异常的代码
    ...
END CATCH;
  1. RESIGNALステートメントを使用して例外を再スローする。
DECLARE exit HANDLER FOR sqlexception
BEGIN
    -- 处理异常的代码
    ...
    RESIGNAL;
END;

これらの方法は、実際に必要に応じて選択して使用していくことができます。ただし、異常処理の具体的な文法は、MySQL のバージョンなどによって若干異なる場合があります。MySQL の公式ドキュメントにある異常処理の解説を参照してください。

bannerAds