MSDE FunClub
Microsoft Data Engine FunClub
MSDE技術者向けメーリングリスト過去ログ[467]番
 
[TOP]>[MSDE技術者向けメーリングリスト過去ログ(467番)]>[ウィンドを閉じる]
 
SQLServer2005時代でも
開発の基本は T-SQL
上巻で T-SQL の基礎作り
 
SQLServer2005時代でも
運用の基本はバックアップ
下巻でバックアップ手法を学びましょう
PASSJ人気コンテンツで学んだ後は下巻でさらなる学習を!
 
ウィンドを閉じる
MSDE/SQLServer FAQ
MSDE / MSDE2000 
技術情報サポート
初心者向け
メーリングリスト
過去ログの表示
技術者向け
メーリングリスト
過去ログの表示
メーリングリスト
活動状況の
表示
MSDE TOP メニュー
MSDEトップメニューに移動します
 

 
Re: トリガー内のエラー処理が実行されません

Date: Fri, 23 Feb 2001 19:32:58 +0900
From: "Akira Horikawa" <who@example.ne.jp>


堀川です

-----Original Message-----
From: Kenji Okimoto [mailto:who@example.co.jp]
Sent: Friday, February 23, 2001 3:30 PM
To: who@example.ne.jp
Subject: [ml-msde:00466] Re: トリガー内のエラー処理が実行されません


>整合性違反が起きた場合、次の文は処理されないという事ですか。

整合性違反は、継続実行可能なエラーです
整合性違反と、テーブルが存在しない(オブジェクトが存在しない)エラー
は違います

テーブルが存在しないでINSERT命令が実行された場合は、整合性
以前のことで、致命的なエラーです


>上巻462ページを見ると、INSERT文の後にIF文の@@ERRORで判定
>していますので、整合性違反が起きた場合でも、このIF文は実行さ
>れますよね。(私は実行されないのですが。)
>私の現象は、INSERT時にオブジェクトがない。または挿入した値が
>精度を超えているエラーが発生した場合、次のIF文が実行されませ
>ん。

『INSERT時にオブジェクトがない』とは、挿入先のテーブルが存在
しなかったという意味ですね
ですから、致命的なエラーになります。


精度がおかしいなどは、軽微のエラー(整合性違反)になると思います
この場合は継続実行が可能です


但し、
   [ml-msde:00440] トリガー内のエラー処理が実行されません
このメールの中で与えられたプログラムを見ると、SAVEPOINTを
使っていますね

何だか、トランザクションの使い方の問題のような気もしますね
トリガ内でROLLBACK命令を実行するとそのバッチが強制終了
しますがこの場合は、セーブポイント名が付いているのでどうなる
でしょうか?

---------------------------------------------------
(株)日本技術ソフト開発  堀川 明

        mailto:who@example.ne.jp
        mailto:who@sub.example.jp
        http://www.horikawa.ne.jp/msde/
        http://www.kt.rim.or.jp/~pwp/

02月23日(金曜日) 19時32分記



[MSDE/SQLServerに関して、今、どんなことにお困りですか?]
よろしければお困りの内容を、電子メールで教えて下さい。
質問を電子メールで作成する


[ウィンドを閉じる]

[MSDE/SQLServer FAQ ]

[MSDE / MSDE2000 技術サポート情報一覧]

MSDE TOP ページに移動する

 
 
 
 
 
 
 
MSDE FunClubに関するご意見・ご要望等ございましたら、
msdefun@horikawa.ne.jp までご連絡下さい。
MSDEを始めとする各種データベースシステムの開発、コンサルタントに関するご要望等は、
msdedev@horikawa.ne.jp までご連絡下さい。