Oracle数据库中的触发器类型概述(oracle触发器类型)
一、 Oracle数据库中的触发器类型
Oracle数据库中的触发器类型包括表触发器(Table Trigger)、视图触发器(View Trigger)和序列触发器(Sequence Trigger)。
1)表触发器(Table Trigger)
表触发器是在操作表的时候被触发的,它可以在表的数据插入,更新和删除的时候被触发,可以完成一些特定的操作。下面是一个创建表触发器的代码片段:
CREATE TRIGGER trigger_name
BEFORE INSERT ON table_name
FOR EACH ROW
BEGIN
— code to execute when trigger is fired
END;
可以看到,CREATE TRIGGER 语句用于创建表触发器,使用BEFORE INSERT来指定对表插入操作进行触发。
2)视图触发器(View Trigger)
视图触发器可以被用来在视图上的数据发生改变的时候被触发,当视图的底层表被更新时,触发器会被激活,执行我们在自定义时所提供的操作。下面是一个创建视图触发器的代码片段:
CREATE TRIGGER trigger_name
INSTEAD OF INSERT ON view_name
FOR EACH ROW
BEGIN
— code to execute when trigger is fired
END;
这里,INSTEAD OF INSERT用于指定视图插入操作触发视图触发器。
3)序列触发器(Sequence Trigger)
序列触发器可以在序列发生改变的时候被触发,可以用来改变序列的值或是通知应用程序序列的变化。下面是一个创建序列触发器的代码片段:
CREATE TRIGGER trigger_name
BEFORE ALTER ON sequence_name
BEGIN
— code to execute when trigger is fired
END;
这里,BEFORE ALTER会在序列更新之前触发序列触发器。
二、总结
Oracle数据库中的触发器包括表触发器,视图触发器,和序列触发器,它们可以被触发操作表,视图和序列的操作。本文介绍了这三种类型的触发器,以及如何使用CREATE TRIGGER语句创建触发器,以及触发器激活时要执行的代码。