您的位置:首页 > 数据库 > Oracle

oracle触发器使用案例

2016-03-22 14:32 417 查看
开发要求:

删除或者更新表tab的行时,更新表cust相应的字段。

表tab中custguid字段和表cust中cust_guid字段是关联字段,表tab中com字段和表cust中str字段是关联字段。

创建表tab,表cust

create table tab(custguid varchar2(30),com varchar2(20));
create table cust(cust_guid varchar2(30),str varchar2(20));

insert into tab values('1abc','help');
insert into tab values('qqqq','gggg');
insert into cust values('qqqq','ffff');
insert into cust values('2abc','help');
insert into cust values('3abc','help');
insert into cust values('4abc','help');


创建触发器

create or replace trigger tr_tab_cust_1
after
insert or update on tab
referencing new as new old as old
for each row
begin
update cust set str=:new.com where cust_guid=:new.cust_guid;
end;


验证

update TAB set COM = 'wwww' where CUSTGUID = '1abc';
select * from tab;
select * from cust;


发现,当更新tab的行时,表cust相应字段也跟着更新了。

备注:

1、关联字段的字符类型一定要相同

2、确保当前用户具有创建触发器的权限。触发器相关权限

grant create trigger to scott;
grant alter any trigger to scott;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle trigger