触发器是一种特殊的存储过程,当指定表中的数据发生变化时自动运行。
触发器与普通存储过程的不同之处在于:触发器的执行是由事件触发的,而普通存储过程是由命令调用的。
按触发事件不同,可分为:
INSERT。当指定的表发生插入(INSERT)操作时执行触发器。
UPDATE。当指定的表发生修改(UPDATE)操作时执行触发器。
DELETE。当指定的表发生删除(DELETE)操作时执行触发器。
按触发时间不同,可分为:
BEFORE。在指定的事件发生之前执行触发器。
AFTER。在指定的事件发生之后执行触发器。
按触发级别不同,可分为:
行触发。对触发事件影响的每一行执行触发器。
语句触发。对于触发事件只能触发一次,而且不能访问受触发器影响的每一行的值。
CREATE TRIGGER语句来创建触发器:
CREATE [ OR REPLACE ] TRIGGER <触发器名> [BEFORE | AFTER ]
<触发事件> ON <表名>
[ FOR EACH ROW ]
[ WHEN <条件表达式> ]
<PL/SQL程序体>
以后记着自己的表属于自己的用户,sys不是用来干这个的
删除触发器
DROP TRIGGER语句可以删除触发器