私はテーブルに挿入され、削除されたデータを監視するためのメカニズムを作成しています。私の質問は、トリガーの信頼性はどれくらいですか?どのインスタンスがトリガーに失敗するのですか?MS SQLトリガーはどのようなインスタンスで実行に失敗しますか?
構造は単純ですが、テーブル、2つのトリガー、1つは挿入用、もう1つは削除用です。どちらのトリガーでも、データ(「<id>
」が削除され、「<id>
が挿入されました」)が別のテーブルに挿入されます。
私はテーブルに挿入され、削除されたデータを監視するためのメカニズムを作成しています。私の質問は、トリガーの信頼性はどれくらいですか?どのインスタンスがトリガーに失敗するのですか?MS SQLトリガーはどのようなインスタンスで実行に失敗しますか?
構造は単純ですが、テーブル、2つのトリガー、1つは挿入用、もう1つは削除用です。どちらのトリガーでも、データ(「<id>
」が削除され、「<id>
が挿入されました」)が別のテーブルに挿入されます。
トリガーは常に実行されますが、トリガーの実行中に未処理の例外が発生すると、トランザクション全体がロールバックされます。
テーブルにデータを挿入しようとすると失敗すると、トリガーが実行されますか?それとも成功したときだけ? – dpp
これは、実行後に起動する「AFTER」やSQL文をトリガする代わりに実行される「INSTEAD OF」など、使用されるトリガオプションに依存します。 – BluesRockAddict
あなたは大きな助けになっています。ありがとうございました! – dpp
トリガーが失敗していると思うかもしれない1つのインスタンスは、複数行のステートメントが実行されたときに他の行を黙って無視する、挿入された行を1つしか期待しないトリガーを作成したときです。 –
@Damien_The_Unbeliever Sir、あなたは私にリンクを張って、あなたが言ったことを説明する記事を教えてくれますか?私はそれが勉強する価値があると思います。ありがとうございました! – dpp
[この記事](http://www.sqlservercentral.com/blogs/steve_jones/2010/09/23/common-sql-server-mistakes-_1320_-multi-row-dml-triggers/)のクイックビュー大丈夫 - 私は*一般的なSQL Serverのミストリガを検索*。また、ここでSQLサーバのトリガに関する質問を検索してみることもできます。通常、これらの質問に答えるためにどこかに現れます。 –