现在要一个库里两个表空间的两张表的客户名字这个字段同步,
但是我的表的主键是使用了oracle的序列.而那张表采用的是在程序里查出表里最大的id然后加一的办法生成主键我打算用触发器去触发一个存储过程.
就是当我的表A在更新或者在插入的时候.就同时更新和插入到B表.不过有个条件,就是当我A表里例外一个字段c是1的时候才触发或者只有插入或更改字段是c的时候才同步到B表各位大哥,我在存储过程上比较白痴.怎么解决啊
但是我的表的主键是使用了oracle的序列.而那张表采用的是在程序里查出表里最大的id然后加一的办法生成主键我打算用触发器去触发一个存储过程.
就是当我的表A在更新或者在插入的时候.就同时更新和插入到B表.不过有个条件,就是当我A表里例外一个字段c是1的时候才触发或者只有插入或更改字段是c的时候才同步到B表各位大哥,我在存储过程上比较白痴.怎么解决啊
before update on A
for each row
declare
i number;
begin
if :new.c=1 then
--insert into b .............
end if;
end A_update;
但是更新的话,我必须通过一个唯一的字段关联,还要去更新B表的内容.而且B表id跟A表没一点关系,但是又要插入id.所以麻烦.
不知道这样对不这是新增的
create or replace trigger tt
after insert on test2 for each row
when (new.t1='1')
declare
nid number(8);
begin
select max(id) into nid from test5;
nid := nid+1;
insert into test5 values (nid,:new.t2) ;
end tt;这是更新的
create or replace trigger tt2 after update on test2 for each row
when (old.t1='1' or new.t1='1' )
declare
ncode varchar2(20);begin
select tt3 into ncode from test2 where :old.tt3=:new.tt3;
update test5 set name=:new.t2 where t3=ncode;
end tt2;