欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

plsq程序设计--触发器

程序员文章站 2022-03-03 23:52:07
...
[color=red][b]首先,创建一张log表,用于记录对emp2表的操作[/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;
相关标签: SQL