SQLServer覚書 RAISERROR

「SQLSeverの2014ぐらいでないとTHROWが使えない」ってことで、RAISERRORでエラーを発生させてCATCH句に強制的に移動するように。

したはずなんだけど、いかないのは何故?

って、原因は重要度に設定する値にあった。

重要度=1~10の場合、CATCH句へ飛ばない。

RAISERROR (N'エラーメッセージ', 10, 1);

重要度=11~18の場合、CATCH句へ飛び、18までなら普通のユーザでも指定できる。

RAISERROR (N'エラーメッセージ', 18, 1);

重要度=19~の場合、sysadminとか権限のあるユーザでないと、そもそも設定できない。

RAISERROR (N'エラーメッセージ', 19, 1);

ということで、11~18の値を設定することで、無事CATCH句に飛びましたとさ!

Add a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください