首先说一触发器的的功能
1.强化约束。触发器能够实现比Check语句更复杂的约束
2.跟踪变化。触发器可以侦测数据库内的操作,从而不允许数据库中不经过许可的指定更新和变化。
3..级联操作。根据一个表的编花,其他的表也可以设置产生相应的变化
4.存储过程的调用。为了响应数据库的更新,触发器可以调用一个和多个存储过程,也可以通过外部过程的调用在数据库管理系统之外进行操作。
再之说一下激活触发器s数据库建立和管理的两个临时的虚拟表。即Delete表与Insert表
Delete表和Insert表在执行触发程序的情况
T-SQL语句 | Insert表 | Delete表 |
Insert | 新的行 | 空 |
Update | 刚更新过后的行 | 原先的行 |
Delete | 空 | 刚被删除的行 |
接着 讲一下instead of 与for的区别
instead of用在触发语句之前
for用在触发语句之后
最后写一个禁止删除数据表的内容的触发器
create trigger tr_test
on Score instead of delete
as
begin
rollback;--禁止删除数据
end