SQLServerでのRAISERRORの使い方

SQL ServerでRAISERROR関数は、ストアドプロシージャ、トリガー、または関数でユーザー定義のエラーメッセージを引き起こすために使用されます。その構文は以下の通りです。

RAISERROR ({msg_id | msg_str }

{ ,severity ,state }

[ ,argument [ ,…n ] ] )

[ WITH option [ ,…n ] ]


上記は、次のようなパラメータを持つ:- msg_id:エラーメッセージのメッセージIDを指定します。これは事前に定義されたメッセージIDでも、ユーザー定義のエラーメッセージ文字列でもかまいません。- msg_str:ユーザー定義のエラーメッセージ文字列を指定します。- severity:エラーの深刻度レベルを示し、1から25の整数の範囲で、1から10は情報メッセージ、11から16は警告メッセージ、17から25は重大なエラーメッセージとされます。- state:エラーの状態コードを指定し、0から255の整数の範囲です。- argument:エラーメッセージ中で使用できる1つ以上の置換パラメータを指定します。パラメータの数は、エラーメッセージ中のプレースホルダの数に依存します。- option:FORMATMESSAGE関数のフォーマット制御オプションなど、追加のオプションを指定します。以下はRAISERROR関数を使用した例です:1. ユーザー定義のエラーメッセージを発生させます。

RAISERROR('This is a user-defined error message', 16, 1)

2. 定義済みのメッセージIDを引き起こすエラーメッセージ:

RAISERROR(50001, 16, 1)

3. パラメーターを含んだエラーメッセージを引き起こす。

DECLARE @param INT = 10;

RAISERROR(‘The parameter value is %d’, 16, 1, @param)


アプリケーションまたはクライアントプログラムが取得して処理できる、上記のエラーメッセージの例を。

bannerAds