触发器的具体内容(自己的视频笔记)
1、定义:一种特殊类型的存储过程,不同于普通的。通过事件(插入、修改记录)进行触发而被执行的。保证数据完整性。可强制实现更加复杂的数据完整性、还可以参考其他表的字段。基于一个表创建,但可对多个表进行操作。
2、分类:五种:Update触发器、Insert触发器、Delete触发器、和后来新增的instead of 触发器、After触发器。需要了解的主要是后两种的触发条件:
Instead of 触发器,不执行插入、更新或删除时被触发,仅是执行触发器本身。
After触发器:触发动作发生之后激发只能在表上定义。可由sp_settrigeerorder定义触发顺序。
3、作用:
级联修改数据库中相关的表;
执行比核查更复杂的约束操作;
拒绝或回滚违反引用完整性的操作;
比较修改前后数据之间的差别,并据之采取相应的操作。
4、主要优点,自动;可通过相关表进行层叠操作;可以强制限制数据的完整性(更复杂);
5、触发器的创建、修改、删除使用T-SQL语句:
创建:CREAT TRIGGER NAME ON TABLE|VIEW [WITH ENCYPTION] {FOR|AFTER|INSTEAD OF}
{[INSERT][,][UPDATE][DELETE]} AS SQL_STATEMENTS[..N]
修改:ALTER TRIGGER NAME ON TABLE|VIEW [WITH ENCYPTION] {FOR|AFTER|INSTEAD OF}
{[INSERT][,][UPDATE][DELETE]} AS SQL_STATEMENTS[..N]
删除:DROP TRIGGER NAME [,...N]
六、其他
封装事务规则,确保引用完整性:动态检测数据输入的有效性
使用嵌套的触发器:一触发器执行操作时引发另一个触发器,而这个触发器又接着引发下一个。
查看触发器信息:sp_helptrigger,sp_help name,sp_helptext name
自己对它的认识:
触发器可以根据数据库的变化(触发事件)以表为操作对象对数据库进行相应的处理.它是一个提高了管理者对数据库进行动态管理操作效率的一个工具.