我有两个表,当A中的某一字段的值UPDATE后,触发触发器,向另一表中添加一条相关记录。请教如何写?

解决方案 »

  1.   

    CREATE OR REPLACE TRIGGER URTRIGGER
    AFTER UPDATE ON TABLE1 
    FOR EACH ROW
    BEGIN
    INSERT INTO TABLE2
     ……;
    EXCEPTION
      WHEN OTHERS THEN
        ……;
    END;
      

  2.   

    you can learn about trigger by reading Oracle Application Developer's Guide - Fundamentals.
      

  3.   

    CREATE OR REPLACE TRIGGER name_TRI
    AFTER UPDATE of col_name ON TABLEa
    FOR EACH ROW
    BEGIN
    INSERT INTO TABLEb (...) values (:new.col,.....);EXCEPTION
      WHEN OTHERS THEN
        ……;
    END;
      

  4.   

    很简单啊
    如:
    create or replace trigger XXXX
    before insert on XXX
    for each row
    begin........
    end;
      

  5.   

    create table a1 (
        id number(8),
        compname varchar2(20),
        compcode varchar2(50),
        chapter  varchar2(50),
        compnumber number(8),
        dealdate  date
    );create table a2 (
        id number(8),
        compname varchar2(20),
        compcode varchar2(50),
        chapter  varchar2(50),
        compnumber number(8),
        dealdate  date
    );
    CREATE OR REPLACE TRIGGER tr_bf_test
    BEFORE INSERT OR UPDATE OR DELETE OF ID ON a1 
    FOR EACH ROW
    BEGIN
      IF INSERTING THEN
        INSERT INTO a2
        VALUES(:new.id,:new.compname,:new.compcode,:new.chapter,:new.compnumber,:new.dealdate);
      ELSIF UPDATING THEN
        UPDATE a2 SET id=:new.ID,
                         compname=:new.compname,
                         compcode=:new.compcode,
                         chapter=:new.chapter,
                         compnumber=:new.compnumber,
                         dealdate=:new.dealdate
        WHERE ID = :old.ID;
      ELSE 
        DELETE FROM a2
        WHERE ID = :old.ID;
      END IF;
    END tr_bf_TTRIG;
    /