- - PR -
RAISERRORを使用したエラー処理について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-04-04 18:42
いつもお世話になっております。
DBはSQL SERVER2000 です。 エラーの処理の仕方について質問いたします。 次のTableAを更新します。 TableAのnoは0以下が登録できないようなルールを設定しています。 tbl_id | no | 1 10 2 20 3 30 次のような更新をしてみました。 DECARE @ErrorCode INT SET @ErrorCode = 0 UPDATE TableA SET no = -10 WHERE ( tbl_id = 1 ) AND ( no = 10 ) SET @ErrorCode = @@ERROR IF @ErrorCode != 0 RAISERORR( 50001, 16, 1 ) ☆sysmessagesの50001に 「TableAでエラーが発生しました」というエラーメッセージを登録済みです。 (エラーレベルは16です。) 結果は以下の通り、 2つのエラーメッセージが表示されました。 サーバー:メッセージ 513,レベル16,状態1 テーブル「TableA」、列「no」で矛盾が発生しました サーバー:メッセージ 50001,レベル16,状態1 TableAでエラーが発生しました 1つ目のエラーメッセージ(513の方)を無視して 2つ目のエラーメッセージ(50001の方)だけを表示するようなことはできないのでしょうか? よろしくお願いいたします。 |
1