• 締切済み

PROCEDUREでのエラー内容取得

PROCEDUREでエラーが発生した場合のエラー内容を取得したいのですが ネットで調べたら @@ERROR にエラーコードが保存されるそうですが エラー内容がわかりません。エラーコード、エラー内容ともにログに 書き込みたいのですが、エラーメッセージはどうやったら取得できるのでしょうか? ERROR_MESSAGE() で取得できるという話を聞いたのですが 試してみたところ上記はNULLでした。 どなたかおわかりの方よろしくお願いいたします

みんなの回答

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

Transact-SQL関連は違いがかなり大きいので、バージョンを記載しましょう。 とりあえずERROR_MESSAGE()がエラーにならないということから2005と推測しました。 エラートラップの構文はどう書かれていますか? BEGIN TRY (処理) END TRY BEGIN CATCH INSERT INTO error_log VALUES (ERROR_NUMBER(),ERROR_MESSAGE()) END CATCH ERROR_MESSAGE()は取れるはずです。かならずCATCHスコープの中に記載してください。

SAMOAJIN
質問者

お礼

ありがとうございました。できました。 TRYとCATCHの構造を知らなくて、こういう方法使用しておりませんでした。 どうもありがとうございました。