inserted存放进行insert和update操作后的数据,
deleted存放进行delete和update操作前的数据,
他们是触发器执行时用到的两张特殊表,也可以说是种临时表,是在进行激活触发器时由系统自动生成
如你给了数据库里两张表,一张学生表(Student),一张成绩表(Score)。当你想要在学生表中删除某个学生的同时,也想把成绩表中的该学生的信息也删掉,可以这样写
create trigger d on Student
for delete
as
delete Score from Score s, deleted d where s.id=d.id
当你修改学生的id(标识除外)不修改除学生id外的其他信息,又同时更新成绩表中该学生的id
create trigger u on Student
for update
as
begin
if update(id)
update Score set id=i.id from Score s,inserted i,deleted d where d.id=s.id
end