现在要一个库里两个表空间的两张表的客户名字这个字段同步,
但是我的表的主键是使用了oracle的序列.而那张表采用的是在程序里查出表里最大的id然后加一的办法生成主键我打算用触发器去触发一个存储过程.
就是当我的表A在更新或者在插入的时候.就同时更新和插入到B表.不过有个条件,就是当我A表里例外一个字段c是1的时候才触发或者只有插入或更改字段是c的时候才同步到B表各位大哥,我在存储过程上比较白痴.怎么解决啊

解决方案 »

  1.   

    create or replace trigger A_update
      before update on A
      for each row
    declare
      i number;
    begin
      if :new.c=1 then
        --insert into b .............
      end if;
    end A_update;
      

  2.   

    插入是可以.
    但是更新的话,我必须通过一个唯一的字段关联,还要去更新B表的内容.而且B表id跟A表没一点关系,但是又要插入id.所以麻烦.
      

  3.   

    有一个 code 字段 关联
    不知道这样对不这是新增的
    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;