触发条件是 当A表的a字段发生更新和A表进行插入之后 触发器触发  
之后 把A表a字段给B表的b字段  
 

解决方案 »

  1.   

    CREATE OR REPLACE TRIGGER "A_TRIG" AFTER
    INSERT
    OR UPDATE  ON "A"
    FOR EACH ROW
    when (new.a<>old.a)
    declare
    begin
          UPDATE B  SET b = :new.a
    end  
    这是我之前写的
      

  2.   

    突然想起来怎么写了....这是我写的最终版
    CREATE OR REPLACE TRIGGER "FT"."TMATERIALPRICES_TRIG" AFTER
    INSERT
    OR UPDATE OF RETAILPRICE ON "FT"."TMATERIALPRICES"
    FOR EACH ROW
    declare
    begin
        IF :OLD.OBJID IS NULL THEN
          UPDATE FT.TMATERIALS SET MODIFYTIME=MODIFYTIME WHERE OBJID= :NEW.MATERIALID;
        ELSE
          UPDATE FT.TMATERIALS SET MODIFYTIME=MODIFYTIME WHERE OBJID= :OLD.MATERIALID;
        END IF;    
         DECLARE
      BEGIN
        insert into tMaterialprices_sync
          (billid, syncnum)
        values
          (:new.objid,tMaterials_increase.nextval);
      END;
    end;
      

  3.   

    create or replace trigger test_a_update
      after update of a or insert 
      on A
      begin
       merge into B using A on (a.id=b.id)
       when matched  then
       update 
       set 
         B.b=A.a
      
       when not matched then  
        insert
        (b.b)
        values(a.a);
       end;
    end;