1、建表 a,b 语句如下: create table a(id number(10) not null,name varchar2(256)); create table b(id number(10) not null,name varchar2(256),update_date date,flag int );--flag 0:新增 1:修改 2、建行级触发器如下: create or replace trigger tr_save_change after insert or update or delete on a for each row begin case when inserting then insert into b(id,name,update_date,flag) values(:new.id,:new.name,sysdate,0); when updating then update b set name=:new.name,update_date=sysdate,flag=1 where id=:old.id; when deleting then delete from b where id=:old.id; end case; end; 3、测试如下: insert into a(id,name) values(1,'aaa'); commit; --查看b表 select * from b; insert into a(id,name) values(2,'bbb'); commit; --查看b表 select * from b; update a set name='abab' where id=2; commit; --查看b表 select * from b; delete from a where id=1; commit; --查看b表 select * from b;
oracle 触发器“new ”,”old“的使用
猜你喜欢
转载自xeyex.iteye.com/blog/1558313
今日推荐
周排行