Oracle触发器有多种,包括DML触发器、DDL触发器、替代触发器、系统触发器等。

DML触发器是执行insert、delete、update语句时自动调用执行触发器代码块,又分为事件执行前触发(before)和事件执行后触发(AFTER)

DDL触发器是基于create、alter、drop等语句的触发器,它也可以在这些语句执行前后来执行

替代(instead of)触发器能够替代原始触发的动作,该触发器扩展了试图更新的类型

系统触发器是基于Oracle系统事件(logon和startup)所建立的触发器,可以跟踪系统或者数据库的变化

基本语法

1. 创建触发器

CREATE TRIGGER trigger_name

{BEFORE|AFTER|INSTEAD OF} trigger_event ON {table_name|view_name}

[FOR EACH ROW]

BEGIN

trigger_body

END trigger_name

2. 修改触发器

CREATE [OR REPLACE] TRIGGER trigger_name

3. 删除触发器

DROP TRIGGER trigger_name

4. 查看触发器

可以去USER_TRIGGER、ALL_TRIGGER、DBA_TRIGGER这三个数据字典表里面查看

相关推荐