造成兩排我使用SQL Server 2005,並有以下問題:SQL更新查詢被觸發
在一個table A
,我有跟蹤任何插入/更新/刪除它觸發。跟蹤的記錄被插入審計表(aAudit
)。當我在A
運行的更新,我看到在審覈表中兩行的每次更新,這不是我所期望的。這是我所定義的觸發:
ALTER TRIGGER [ATrigger] ON [dbo].[A]
FOR INSERT, UPDATE, DELETE
AS
INSERT INTO [dbo].[aAudit]
([BusinessDate], [DataTypeId], [BookId], [Version], [DelFlag], [AuditDate], [ExtStatus])
SELECT [BusinessDate], [DataTypeId], [BookId], [Version], 'N', getDate(), 0
FROM inserted
INSERT INTO [dbo].[aAudit]
([BusinessDate], [DataTypeId], [BookId], [Version], [DelFlag], [AuditDate], [ExtStatus])
SELECT [BusinessDate], [DataTypeId], [BookId], [Version], 'Y', getDate(), 0
FROM deleted
爲什麼產生一行與DelFlag = 'Y'
和一行在審覈表DelFalg = 'N'
上述觸發?
感謝您抽空看看我的問題。
維克拉姆
非常感謝響應,即解決我的問題:) – Vikram 2010-12-20 17:23:12
@Vikram - 你應該接受(點擊複選框)然後回答。這會鼓勵人們協助你,並讓其他搜索者知道哪個答案糾正了問題 – JNK 2010-12-20 18:19:56