Triggers SQL Server 2008触发器插入多行

Triggers SQL Server 2008触发器插入多行,triggers,multiple-instances,sql-server-2008r2-express,Triggers,Multiple Instances,Sql Server 2008r2 Express,我是新手,我所知道的都是自学的,所以请容忍我,保持简单 我创建了一个触发器来捕获数据更改(我使用的是SQL Server 2008 R2 Express),但我不明白为什么要在新表中插入两行 这就是我到目前为止所做的: CREATE TRIGGER trg_Audit ON EmployeeTable FOR UPDATE AS INSERT INTO NewTable (DBUser, executiontime, oldvalue, newvalue, employeeid, typ

我是新手,我所知道的都是自学的,所以请容忍我,保持简单

我创建了一个触发器来捕获数据更改(我使用的是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
第二行正在做我想要做的事情,即在新表中插入一条新记录,为修改后的列捕获新旧数据,但我也会插入一行,而不使用旧值

谁能解释一下为什么会这样

非常感谢


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

能否请您更具体地说明您希望得到什么、您得到了什么以及您正在执行的确切更新?您好,数据方面,我希望在插入的第二行中得到我想要的,这是谁更新了记录,当发生修改时,旧值(来自a-E的等级)和新值(如果等级已修改)员工编号、与等级相关的绩效领域、原始记录的输入日期、原始记录的ID(主键,自动递增)。正如我所说,这对其中一行有效,但在另一行中,我得到完全相同的数据,但没有旧的等级值。更新仅发生在等级列上。我希望这能澄清。谢谢。对不起,我应该声明我只希望此触发器插入一行,即当前正在执行我希望的操作的那一行。我有我不知道为什么我要坐两排。