SQLServerのストアドプロシージャーで例外をキャッチする方法

SQLServerのストアドプロシージャー(Transact-SQL)では、SQL Server 2008以降でTYR~CATCH文で例外をキャッチすることができます。

ストアドプロシージャー(Transact-SQL)で例外をキャッチする方法

SQLServerで例外が発生したした場合はTRY~CATCH文でその例外を捕まえることができます。

上記のSQLを実行すると0割の例外エラーが発生し、メッセージに

と例外が発生した行番号がメッセージとともに表示されます。

詳細の情報を見たい場合は

と記述することで詳細な情報が以下のように表示されます。

エラーに関する情報は

  • ERROR_NUMBER()エラーの数を返します。
  • ERROR_SEVERITY()重大度を返します。
  • ERROR_STATE()エラー状態番号を返します。
  • ERROR_PROCEDURE()エラーが発生したストアド プロシージャまたはトリガーの名前を返します。
  • ERROR_LINE()エラーを発生させたルーチン内の行番号を返します。
  • ERROR_MESSAGE()エラー メッセージの全文を返します。

です。