SQL Update查询在触发器中导致两行
我使用SQL Server 2005并有以下问题:
在
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'
?
谢谢你看看我的问题。
维克拉姆
没有找到相关结果
已邀请:
2 个回复
细屠截殴些
扑北爱