当往A表添加一条记录的时候,要往B表中添加一条相同的记录,请问应该如何写这个触发器?小弟菜鸟,请高手指教!

解决方案 »

  1.   

    不用考虑sequence,只要把A表的那条新加记录加入B表就行了
      

  2.   

    create or replace trigger tr_a 
    after insert on a
    for each row
    begin
      insert into b values(:new.a1,:new.a2,...);
    end;
      

  3.   

    create or replace trigger aaa
    before insert
    on scott.tab1
    for each row
    begin
      insert into b select * from :new;
    end aaa;
      

  4.   

    不好意思,还有一点搞不定,请高手继续相助,多谢:
    b表中有一个字段是来自于c表中的某条记录的某个字段,如何查出这个字段的值?
    如果这样写:
    DECLARE
      b1 varchar2;
    BEGIN
    b1 := select c2 from c where ...;
    这样的语法是错误的,那如何将查出的值赋给b1呢?
      

  5.   

    select c2 into b1 from c where ...
      

  6.   

    9i下不用触发器,使用insert all 语句同时A,B往2个表插入数据也是可以的,适用于不是在任何插入A的情况下都需要往B插入数据
      

  7.   

    create or replace trigger temp_trigger
    after insert on a
    for each row
    declare 
      v_string varchar2(10);
    begin
      select c2 into v_string from c where ...;
      insert into b(b1,b2,b3,..) values(v_string,:new.a1,:new.a2,...);
    end;