SQL触发器

USE pubs
if exists (select name from sysobjects where name='employee_insupd')
drop trigger employee_insupd
GO
create trigger employee_insupd
on employee -------在employee表中创建触发器
for insert,update --------为什么时间触发
AS                -------时间触发后所要做的事情
DECLARE @min_lvl tinyint,
@max_lvl tinyint,
@emp_lvl tinyint,
@job_id smallint
select @min_lvl = min_lvl,
@max_lvl = max_lvl,
@emp_lvl = i.job_lvl,
@job_id = i.job_id
from employee as e inner join inserted as i on e.emp_id = i.emp_id join jobs j on j.job_id = i.job_id
/*理解触发器里的两个临时的表:Deleted、Inserted注意Deleted与Inserted分别表示触发事件的表"旧的一条记录""新的一条记录"一个数据库系统中有两个虚拟表用于存储在表中
记录改动的信息 分别是:
                    虚拟表Deleted        虚拟表Inserted
在表记录新增时       存放新增的记录        不存放记录
修改时              存放用来更新的新纪录  存放更新前的记录
删除时              不存放记录           存放被删除的记录*/

原文地址:https://www.cnblogs.com/wuhuisheng/p/1780629.html