1. 触发器
触发器trigger是用户定义在关系表上的一类由事件驱动的特殊过程。
1.1. 定义触发器
触发器又叫做事件—条件—动作规则
当特定的系统事件(对一个表的增删改操作,事件的结束等)发生时,对规则的条件进行检查,如果条件成立则制定规则中的动作,否则不执行。
CREATE TRIGGER<触发器名> /*每当触发事件发生时,该触发器被激活*/
{BEFORE|AFTER} <触发事件> ON <表名> /*指明触发器激活时间是在执行出发事件前或后*/
REFERENCING NEW|OLD ROW AS <变量>/*用referencing指出引用的变量*/
FOR EACH {ROW|STATEMENT}/*定义出发的类型,指明动作体执行的频率*/
[WHERE <触发条件>]<触发动作体>/*仅当触发条件为真时才执行触发动作体*/
1.2. 激活触发器
执行顺序:
- 执行该表上的 before 触发器
- 激活触发器的sql语句
- 执行该表上的 after 触发器
1.3. 删除触发器
DROP TRIGGER <触发器名> ON <表名>