SQLServerで意図的にエラーを発生させるには、RAISEERROR、THROWを使用します。
RAISERRORを使う方法
RAISEを使うとレベル番号を指定できます。
- (RAISE構文)
- RAISERROR(<エラーメッセージ>, <レベル番号>, <状態番号>)
例)RAISEでエラーを発生させる
1 |
RAISERROR('エラーです', 16, 1); |
- (結果)
- メッセージ 50000、レベル 16、状態 1、行 1 エラーです
THROWを使う方法
THROWはSQLServer2012以降で使用できます。
- (THROW構文)
- THROW <エラー番号>, <エラーメッセージ>, <状態番号>
例)THROWでエラーを発生させる
1 |
THROW 50000, 'エラーです', 1; |
- (結果)
- メッセージ 50000、レベル 16、状態 1、行 1 エラーです
備考
- RAISERRORのエラー番号は常に50000になります。
- THROWのレベル番号は常に16になります。
- エラー番号は、50000~2147483647の数値が指定できます。
- THROWはSQLServer2012以降で使えます