触发器是用户定义在关系表的一类由时间驱动的特殊过程。一旦定义任何用户对表的增删改操作均由服务器自动激活相应的触发器,
定义触发器:使用CREATE TRIGGER 命令建立触发器,
CREATE TRIGGER TR1
BEFORE/AFTER INSERT/DELETE/UPDATE (触发事件) ON TABLE1(目标表)
FOR EACH ROW或者FOR EACH STATEMENT 触发器类型(行级触发器。语句级触发器)
WHEN //触发条件,只有当触发条件为真才执行触发体(可省略)
//触发动作体
例子:
CREATE TRIGGER TE
BEFORE INSERT OR UPDATE ON Teacher
FOR EACH ROW
AS BEGIN PL/SQL过程块
IF()AND THEN
END IF;
END;
激活触发器顺序:
1.执行该表的BEFORE触发器。
2..激活触发器的SQL语句
3.执行该表的AFTER触发器
多个BEFORE或AFTER,谁先创建谁先执行原则
删除触发器:
DROP TRIGGER 触发器名 ON 表名