造成两排我使用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