SQL触发器循环插入到另一个表

时间:2019-02-06 12:00:28

标签: sql sql-server triggers database-trigger

当前正在处理用于更新和插入特定数据行的触发器。

但是,我在处理此细节方面遇到困难:

表1 和字段

EmployeeNumber  |  FirstName | MiddleName |  LastName  

表2 ,其中包含字段:

EmployeeNumber  |  Value  | FieldName | DateEntry

我需要做的是,只要Table1中声明的字段发生变化,就会插入到Table2中。

样本: 在表1中,EmployeeNumber 100将其名字的值从John更改为Jhon,将姓氏的值从Mark更改为Marcus。

表2的条目应如下所示:

EmployeeNumber  |  Value  | FieldName | DateEntry
100             |  John   | FirstName | Getdate()
100             |  Mark   | LastName  | Getdate()

1 个答案:

答案 0 :(得分:0)

如果我正确理解了这个问题:

CREATE TRIGGER NameTrigger
ON Table1
AFTER UPDATE
AS
    INSERT INTO Table2 (EmployeeNumber, Value, FieldName, DateEntry)
    SELECT d.EmployeeNumber, d.Firstname, N'FirstName', GETDATE()
    FROM deleted as d

    INSERT INTO Table2 (EmployeeNumber, Value, FieldName, DateEntry)
    SELECT d.EmployeeNumber, d.Lastname, N'Lastname', GETDATE()
    FROM deleted as d