有两个表
create table test1 (tid number,tname varchar2(20))
create table test2 (tid2 number,tname2 varchar2(20)当test1的tname 被修改时 test2的tname2也同样被修改create or replace trigger trig_test
before  update on test1  for each rowdeclare ---
begin
    
     .....???
end trig_test;不好意思,我刚来不久,没有分

解决方案 »

  1.   

    create or replace trigger trig_test 
    before  update on test1  for each row declare --- 
    begin 
        Update test2
           Set tname2 = :new.tname
        Where ……
    end trig_test; 
      

  2.   

    恩,,  我还要得到 test1的tname值怎么办,  意思就是test1和 test2的 tname值保持一致
      

  3.   

    create table t1(
     id number,
     tname varchar2(20)
    )create table t2(
     id number,
     tname varchar2(20)
    )
     
     
     insert into t1(id,tname) values(1,'aaa');
      insert into t1(id,tname) values(2,'bbb');
       insert into t1(id,tname) values(3,'ccc');
     insert into t2(id,tname) values(1,'aaa');
      insert into t2(id,tname) values(2,'bbb');
       insert into t2(id,tname) values(3,'ccc');
     
     
     create or replace trigger t1_trigger
       after update on t1
       for each row 
       begin 
         dbms_output.put_line('old is: '||:old.id); 
         update t2 set tname = :new.tname where id=:old.id;
       end;
       
       
    update t1 set tname ='cba' where id = 1SQL> select * from t1;
     
            ID TNAME
    ---------- --------------------
             1 cba
             2 bbb
             3 ccc
     
    SQL> select * from t2;
     
            ID TNAME
    ---------- --------------------
             1 cba
             2 bbb
             3 ccc
      

  4.   

    thank you !已经解决了