删除后触发备份注册表

时间:2017-04-18 19:29:51

标签: sql sql-server tsql

我想知道在执行DELETE语句后是否有办法在另一个表中备份注册表。

例如,如果我有表'员工'我执行: delete from employee where idEmp=1

有没有办法将该员工的数据插入到另一个名为' employeeBackup'(例如)使用触发器的表中?

1 个答案:

答案 0 :(得分:2)

您将使用DELETE触发器。

https://docs.microsoft.com/en-us/sql/t-sql/statements/create-trigger-transact-sql

确保在触发器中引用已删除的虚拟表并避免使用任何变量,因为触发器每次操作触发一次,而不是每行触发一次。

这是您可以使用的基本模板。

create trigger MyDeleteTrigger on employee FOR DELETE as
    set nocount on;

    insert employeeBackup
    (
        Column1,
        Column2
    )
    select Colum1
        , Column2
    from deleted