0

3 つの異なるテーブルで、別々INSERTの ,UPDATEDELETEトリガーがあります。

それらが期待どおりに機能することを確信しています(追加、削除、更新を試み、ログテーブルへの変更を確認しました)。ただし、ログテーブルにコンテンツがなくても、行が削除または追加されることがあります。

だから私の質問は: たとえば、有効な INSERT トリガーがトリガーされずにレコードを追加することは可能ですか?

これは SQL Server 2005 上にあります。

4

1 に答える 1

0

たとえば、次を使用して、特定のトリガーの使用を無効にするクエリが実行された場合に可能です。

DISABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL }
ON { object_name | DATABASE | ALL SERVER } [ ; ]

また、ダミアンが指摘したように、多くの場合、トリガーは単一のレコードでしか機能しない場合があります。間違っています (簡単な例:

    UPDATE table SET field = value WHERE PK = (SELECT PK FROM inserted)

より良い:

    UPDATE table SET field = value WHERE PK IN (SELECT PK FROM inserted)

あなたのトリガーを見せてください。

于 2012-11-02T13:23:48.123 に答える