一、触发器概念
存储过程和函数:创建后保存在数据库中,需要是调用。
触发器:类似存储过程和函数,但创建后以独立的对象存储在数据库,当某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。
触发器大致可分在触发头和触发体两个部分,具体可分为:作用对象、触发事件、触发条件、触发时间、触发级别。
二、触发器分类
1、DML:在执行DML语句时触发,可以定义为INSERT、UPDATE、DELETE操作,也可以定义在操作之前或者操作之后触发,也可以指定为行级或者语句级触发。
2、INSTEAD OF 触发器:Oracle专门为视图设计的一种触发器。
3、系统触发器:在Oracle数据库的系统时间发生时触发,如系统启动或退出。
三、创建触发器
语法:
create [or replace] tigger 触发器名 触发时间 触发事件
on 表名
[for each row]
begin
pl/sql语句
end
说明:
触发器名:触发器对象的名称。由于触发器是数据库自动执行的,因此该名称只是一个名称,没有实质的用途。
触发时间:指明触发器何时执行,该值可取:
before:表示在