ストアドプロシジャ内で例外エラーが発生した行番号を取得する。

スポンサーリンク

例外エラーが発生した行番号を取得する

SQLServerのストアドプロシジャ内で例外エラーが発生した行番号を取得します。

実行するSQL

例外エラーを取得するには以下のSQLを実行します。

ALTER  Procedure [dbo].[test_prc]
AS

BEGIN TRY
    SELECT 1/0 ;
END TRY
BEGIN CATCH
    SELECT
        ERROR_NUMBER()    AS ErrorNumber,
        ERROR_SEVERITY()  AS ErrorSeverity,
        ERROR_STATE()     AS ErrorState,
        ERROR_PROCEDURE() AS ErrorProcedure,
        ERROR_LINE()      AS ErrorLine,
        ERROR_MESSAGE()   AS ErrorMessage;
END CATCH;

実行結果は

ErrorNumber ErrorSeverity ErrorState	ErrorProcedure ErrorLine ErrorMessage
    8134         16           1          test_proc         8      0 除算エラーが発生しました。

これを使えばエラー発生時の原因解決もしやすくなります。

タイトルとURLをコピーしました