SQLエラーハンドリング:ERROR_MESSAGE()関数を使ってエラーメッセージを取得する方法

この記事では、SQLにおけるエラーハンドリング時にERROR_MESSAGE()関数を使ってエラーメッセージを取得する方法について詳しく解説します。具体的なSQLクエリと実行結果を元に、エラーメッセージの取得手法を明示的に示します。また、何らかのエラーが発生した際にどのように対応すべきかも説明します。

目次

ERROR_MESSAGE()関数とは?

ERROR_MESSAGE()関数は、SQL Serverにおいてエラーメッセージを取得する際に使用される関数です。この関数は、エラーハンドリングブロック(通常はCATCHブロック内)で使われ、エラーメッセージの詳細を取得できます。

基本的な使用方法

エラーが発生した場面でERROR_MESSAGE()関数を呼び出すと、エラーメッセージが返されます。以下は基本的な使用例です。

BEGIN TRY
  -- エラーを強制的に発生させる
  RAISERROR ('エラー発生', 16, 1);
END TRY
BEGIN CATCH
  PRINT ERROR_MESSAGE();
END CATCH

テーブル操作とエラーハンドリング

INSERT文とERROR_MESSAGE()

INSERT文でエラーが発生した場合にERROR_MESSAGE()関数を用いてエラーをキャッチする例です。

BEGIN TRY
  INSERT INTO テーブル名 (カラム1, カラム2) VALUES (値1, 値2);
END TRY
BEGIN CATCH
  PRINT ERROR_MESSAGE();
END CATCH

実行結果とエラーメッセージの対応表

実行結果ERROR_MESSAGE()で返されるエラーメッセージ
成功NULL
失敗(例:プライマリキー違反)‘プライマリキー違反が発生しました’
テーブル名称1: INSERT文のエラーハンドリング

UPDATE文とERROR_MESSAGE()

UPDATE文でエラーが発生した場合のERROR_MESSAGE()関数の使用例とエラーメッセージです。

BEGIN TRY
  UPDATE テーブル名 SET カラム1 = 値1 WHERE カラム2 = 値2;
END TRY
BEGIN CATCH
  PRINT ERROR_MESSAGE();
END CATCH

実行結果とエラーメッセージの対応表

実行結果ERROR_MESSAGE()で返されるエラーメッセージ
成功NULL
失敗(例:カラム型不一致)‘カラム型が不一致です’
テーブル名称2: UPDATE文のエラーハンドリング

まとめ

SQLでエラーハンドリングを行う際にはERROR_MESSAGE()関数が非常に便利です。この関数を用いることで、エラー発生時の詳細な情報を取得し、適切な対応を行うことができます。具体的なSQLクエリとそれに対応するエラーメッセージを理解することで、より効率的なデバッグが可能となります。

コメント

コメントする

目次