0

我是触发器的新手,我所知道的是自学的,所以请耐心等待并保持简单!

我创建了一个触发器来捕获数据更改(我使用的是 SQL Server 2008 R2 Express),但我不明白为什么要在新表中插入两行。

这是我到目前为止所拥有的:

CREATE TRIGGER trg_Audit
ON EmployeeTable
FOR UPDATE
AS
    INSERT INTO NewTable (DBUser, executiontime, oldvalue, newvalue, employeeid, type, entrydate, ID)
       SELECT 
           SUSER_SNAME(), GETDATE(), 
           deleted.value, inserted.value, inserted.employeeid, inserted.type, 
           inserted.entrydate, inserted.ID
       FROM 
           inserted 
       INNER JOIN 
           deleted ON inserted.ID = deleted.ID

第二行正在做我想做的事,即将一条新记录插入到新表中,捕获修改列的旧数据和新数据,但是我也插入了没有旧值的行。

谁能解释一下这是为什么?

非常感谢。

我现在发现了这个问题。我的旁边有一个隐藏的触发器。道歉。

4

0 回答 0