请帮忙写个触发器,谢谢了 -1

解决方案 »

  1.   

    create sequence seq_01
    INCREMENT BY 1
    START WITH 1
    MAXVALUE 999999
    /create or replace trigger tab_a_trigger
      after insert or update 
    on MT_DC_PB_CSG
      for each row
    begin
      update MT_DC_PB_CSGCHANGE 
         set JGGDH=:new.JGGDH,
             JGPH=:new.JGPH,
             CGPCH=:new.CGPCH,
             CGKSSJ=:new.CGKSSJ,
             CGJSSJ=:new.CGJSSJ,
             JGZT=:new.A.JGZT
       where PM_MP_MACHINE_CSGID=:new.CSGBH;
    end;
    /create or repace trigger tab_b_trigger
      after update 
    on MT_DC_PB_CSGCHANGE
      for each row
    begin
      insert MT_DC_PB_CSGCHANGELOG
      (
        PM_MP_MACHINE_WSJID,PM_MP_MACHINE_CSGID,DC_PB_MACHINEGROUPID,JGGDH,
        JGPH,CGPCH,CGKSSJ,CGJSSJ,JGL,CCL,JGZT,CGZT,HP_ID,RECORDTIME
      ) 
      values
      (
        :new.PM_MP_MACHINE_WSJID,:new.PM_MP_MACHINE_CSGID,:new.DC_PB_MACHINEGROUPID,
        :new.JGGDH,:new.JGPH,:new.CGPCH,:new.CGKSSJ,:new.CGJSSJ,:new.JGL,:new.CCL,
        :new.JGZT,:new.CGZT,:new.HP_ID,:new.RECORDTIME,seq_01.nextval,
        to_char(sysdate,'yyyymmdd hh24:mi:ss')
      );end;
    /