触发器:一种特殊的存储过程,存储过程一般通过定义的名字直接调用,而触发器是通过增、删、改进行触发执行,会在事件发生时自动强制执行。
常见触发器:after(for) 或instead of用于insert、update、delete事件。
基本语法:
creeate trigger 触发器的名字 on 操作表
for|after instead of
update|insert|delete
as
SQL语句
实例:
create trigger tr_delete on work
for
insert
as
delete * from work where id=(select id from inserted);
创建了这个触发器,当我对表work进行insert操作完后,会自动执行delete * from work where id=(select id from inserted);将刚插入的数据删除
(inserted这个是临时表,并且只会存储最后一次操作的数据)
上图详细解释了,当操作表进行插入、删除、更新时触发器针对临时表inserted和deleted的操作。并注意最一句话:触发器执行多次但只会保留最后一次结果!