-- Start
Oracle 支持下面几种类型的触发器。
简单DML 触发器
DML 触发器和一个特定的表相关联,当向表中INSERTT、UPDATE、DELETE记录时,触发器会自动激活执行一些预定义的操作。
下面是一个简单的例子,每当插入或更新 EMPLOYEES 表的时候自动给 LAST_UPDATE_TIME 赋值。
create table employees
(
employee_id number(6,0),
first_name varchar2(20 byte),
last_name varchar2(25 byte),
salary number(8,2),
last_update_time timestamp
);
create or replace trigger emp_last_update_time
before insert or update on employees
referencing new as nnn
for each row
begin
:nnn.last_update_time := current_timestamp;
end;
insert into employees values (1, 'Bo', 'Shang', 8888, null);
1. emp_last_update_time 表示触发器名字。
2. before 表示触发的时间点,有下面两种触发时间点。
前触发器(BEFORE):