我想知道在执行DELETE语句后是否有办法在另一个表中备份注册表。
例如,如果我有表'员工'我执行:
delete from employee where idEmp=1
有没有办法将该员工的数据插入到另一个名为' employeeBackup'(例如)使用触发器的表中?
答案 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