2015-05-15
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句に飛びましたとさ!