- 触发器在某个事件发生时自动地隐式运行。
- 一个表上最多有12个触发器,但同一时间、同一事件、同一类型的触发器只能有一个,并且各触 发器之间不能互相矛盾。
- 触发器过多会影响性能;
- 触发器最多为32kb,如果触发器需执行的操作较复杂,可定义存储过程,在触发器执行时调用该存储过程;
- 触发器可用于数据确认、安全检查、审计、数据备份和同步。
触发器的组成
触发事件:引起触发器被触发的事件,可以是DML、DDL、数据库系统事件(如系统启动或退出)、用户事件(用户的登录或退出);
触发时间:在事件发生前或发生后触发;
触发操作:触发器被触发后执行的操作;
触发对象:触发事件发生的对象,如表、视图、模式、数据库。
触发条件:由when子句指定一个逻辑表达式,只有当该表达式的值为true时,遇到触发器才会自动执行触发器;
触发频率:指定触发器内定义的动作被执行的次数,可分为语句级触发器和行级触发器,语句触发器指当触发事件发生时,该触发器只执行一次,行级触发器指当触发事件发生时,对受到该操作影响的每一行数据,触发器都单独执行一次。
创建DML触发器语法