[color=red][b]首先,创建一张log表,用于记录对emp2表的操作[/b][/color]
[color=red][b]创建触发器,触发器必须依附于一张表存在[/b][/color]
[color=red][b]检验触发器[/b][/color]
create table emp2_log
(
uname varchar2(20),
action varchar2(10),
atime date
);
[color=red][b]创建触发器,触发器必须依附于一张表存在[/b][/color]
create or replace trigger trig
--没有 for each row参数,出发其只会执行一次
--after指在执行操作后,还额可以是befor
--insert or delete or update on emp2,对emp2表进行insert or delete or update操作时,激活触发器
after insert or delete or update on emp2
--after insert or delete or update on emp2 for each row
--如果加上 for each row 的话,触发器会按照被影响数据数量来决定执行次数。
begin
if inserting then
insert into emp2_log values(USER, 'insert', sysdate);
elsif updating then
insert into emp2_log values(USER, 'update', sysdate);
elsif deleting then
insert into emp2_log values(USER, 'delete', sysdate);
end if;
end;
[color=red][b]检验触发器[/b][/color]
-- 执行(5)多次update操作
update emp2 set sal = sal * 2 where deptno = 30;
-- for each row打开,则会增加5条记录
-- for each row关闭,则会增加1条记录
select * from emp2_log;