深入浅出:Oracle 触发器类型及其使用(oracle触发器类型)
Oracle触发器是十分强大的应用程序极其重要的一部分,它能够在特定的活动发生时自动执行一定的SQL语句,被调用的SQL语句及其处理细节是由触发器定义来控制和保证的,也是我们使用Oracle 对数据库进行自动化控制的一种便捷方式。
Oracle 触发器一共有4种不同的类型:Row Level Trigger、Statement Level Trigger、BEFORE Trigger和AFTER Trigger。
Row Level Trigger 允许在数据库的表上的每一行的变更时被触发,比如说,当在表Employees中添加一行数据,或者更新某一行数据时,触发器就会被激活并且执行相应的SQL语句,这种触发器的定义可以使用下面的代码段:
CREATE TRIGGER emps_trigg
AFTER INSERT ON EmployeesFOR EACH ROW
BEGIN --下面是代码执行的步骤
END;
Statement Level Trigger 是一种能够在一条或多条SQL语句执行之前或之后被触发的触发器,比如一个SQL语句更新了一个表中很多行,那么这个触发器就会在这些行受影响之前或者之后被触发,下面就是一个Statement Level Trigger的定义:
CREATE TRIGGER emps_trigg
BEFORE INSERT ON EmployeesBEGIN
--下面是代码执行的步骤END;
BEFORE Trigger 指的是在特定操作发生在数据库中某个表中之前被激活的触发器,当触发器被激活后,它可以更新、查询、删除数据,当然它也可以调用存储过程或功能等,下面就是一个BEFORE Trigger的定义:
CREATE TRIGGER emps_trigg
BEFORE INSERT ON EmployeesBEGIN
--下面是代码执行的步骤END;
AFTER Trigger 指的是在特定操作发生在数据库中某个表中之后被激活的触发器,当触发器被激活后,它可以更新、查询、删除数据,当然它也可以调用存储过程或功能等,下面就是一个AFTER Trigger的定义:
CREATE TRIGGER emps_trigg
AFTER INSERT ON EmployeesBEGIN
--下面是代码执行的步骤END;
无论是哪种触发器,它们都可以满足我们定义特定操作执行特定操作的需求,Oracle 触发器一定程度上可以让我们对数据库操作自动化,使得数据库可以更加安全稳定。