- - PR -
トリガーで実行時にエラーになった場合のトランザクションはどうなるのでしょうか?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-11-27 10:50
いつもお世話になります。SQLServerのトリガーについて教えて下さい。
現在、トリガーを利用して次のような処理を作成しようとしています。
この場合、もしBテーブルにデータを追加している際にエラーになった場合に次の1,2のどちらになるのでしょうか?
私がテスト的にやっている限りでは、1の「Aテーブルの削除処理は実行され、Bテーブルの追加処理は実行されない」状態になっていると思われます。 まず、この認識は正しいでしょうか?仮にその場合、2の「Aテーブル,Bテーブル共にロールバックされて処理は実行されていないことになる」にはできないでしょうか? よろしくご教授下さい。 |
|
投稿日時: 2007-11-27 13:14
試してみましたが、2でした。
|
|
投稿日時: 2007-12-02 01:05
普通に考えると2のはずです。
ただし、2005では、エラートラップができたはずなので、 トリガー内でエラートラップにより、トリガー自体の例外エラーが 発生しない状況になるのであれば、「1」になると思います。 [ メッセージ編集済み 編集者: ラララ 編集日時 2007-12-02 01:06 ] |
1