- 締切済み
try...catchステートメントについて
お世話になっています。 WindowsXP(SP3)、SQL2005(SP3)、VB6.0(SP6)で開発を行っております。 SQL2005で、トリガーを作成しています。実行時エラー検知のため、TRY...CATCHステートメントを利用して、エラーを検知するように作成していますが、エラーが検知できません(実行時エラー)。 TRY...CATCH構文では、エラーレベル10以下のエラーは補足できませんが、そのエラーを表示させる方法はあるのでしょうか?また、10以下のエラーレベルを任意に変えることはできるのでしょうか? 未熟者ですが、ご教授願います。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- jamshid6
- ベストアンサー率88% (591/669)
回答No.2
#1です。 NOT NULL制約違反の重大度は16ですから、トラップできますよ。 何か他の理由ではないでしょうか?
- jamshid6
- ベストアンサー率88% (591/669)
回答No.1
重大度10以下のエラーが発生するケースを具体的に示すことはできますか? 結構長いことSQL Server 2005で書いていますが、そのような経験はないので。。 (基本的に10以下は情報メッセージで実行を中断させるようなエラーではないはずですが)
質問者
お礼
回答、ありがとうございます。 具体的なケースについてですが、テーブルに挿入する操作の際、該当の列にnumeric型で入れるのに対し、nullで挿入しようとした場合です(isnull関数は使っていません)。該当の列は、nullを許可していない列になっています。 そのエラーは、重大度が10以下だと考えているのですが(CATCHで補足できないから)、10以下のエラーコードを11以上にして、補足できるようにしたいのです。
お礼
再び回答ありがとうございます。返事が遅くなって、申し訳ありません。 もう一度、考え直してみます。 お手数をかけ、申し訳ありませんでした。