Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
例外ハンドラが実行される契機となったエラー内のプロシージャ名を返します。
ERROR_PROCEDURE( )
TRY...CATCH 文に呼び出されたときにエラーが発生したプロシージャの修飾名を含む VARCHAR です。複合文がプロシージャ、ファンクション、トリガ、イベントのいずれの一部でもない場合は、プロシージャ名ではなく、バッチのタイプ (watcom_batch または tsql_batch) が返されます。
ERROR_PROCEDURE は、TRY...CATCH ブロック内のどこでも呼び出すことができます。
SQL/2008 ベンダー拡張。
次の文を考えてみます。
SELECT ERROR_LINE(), ERROR_MESSAGE(), ERROR_PROCEDURE();
この文は、0 による除算のエラーによって呼び出されたハンドラ内から実行されると、次の結果を返します。
15, 'Division by zero', '"u1"."proc1"'
文 SELECT ERROR_PROCEDURE(); は、procedure u1.proc1 で 0 による除算のエラーによって呼び出されたハンドラから実行されると、次の結果を返します。
SELECT ERROR_PROCEDURE();
'"u1"."proc1"'