表A(a1,a2,a3,a4,a5)B(b1,b2,b3) C(c1,c2,c3)  a4是条件
想通过触发器实现我在A表里添加一条记录的时候  a4进行判断如果条件是B 我就把a1,a2,a3的值添加到B(b1,b2,b3)里面 同理 如如果a4的条件是c  我就把刚才添加的这条记录在c表里面追加一条  a1 a2 a3 和 b1 b2 b3   c1 c2 c3字段一致

解决方案 »

  1.   

    ??
    create trigger tri_test
    on a
    for insert
    as
    begin
        insert b select a1,a2,a3 from inserted where a4='B'
        insert c select a1,a2,a3 from inserted where a4='C'end
      

  2.   

    create trigger tri_a_insert
    on a
    for insert
    as
    begin
      insert b(b1,b2,b3) select a1,a2,a3 from isnerted where a4='B'
      insert c(c1,c2,c3) select a1,a2,a3 from isnerted where a4='C'
    end
    go
      

  3.   

    create trigger tri_test
    on a
    for insert
    as
    begin
        insert b select a1,a2,a3 from inserted where a4='B'
    else
        insert c select a1,a2,a3 from inserted where a4='C'end
      

  4.   

    create trigger tri_test
    on a
    for insert
    as
    begin
        insert b(b1,b2,b3) select a1,a2,a3 from inserted where a4='B'
        insert c(c1,c2,c3) select a1,a2,a3 from inserted where a4='C'end
      

  5.   

    create trigger my_trig on a for insert
    as
    begin
      insert into b select a1,a2,a3 from inserted where a4 = '条件B'
      insert into c select a1,a2,a3 from inserted where a4 = '条件c'
    end
      

  6.   

    是oracle  对不起  能给我整个oracle的吗  发错板块了
      

  7.   

    create [or replace] trigger trig1
    after inserton table1
    for each rowwhen a4 = '条件B'
    begin
    insert b(b1,b2,b3) select a1,a2,a3 from inserted 
    endwhen a4 = '条件c'
    begin
    insert into c select a1,a2,a3 from inserted 
    end
    end;好久没用Oracle了,也不知道对不对
      

  8.   

    trycreate or replace trigger trig
    after insert
    on tb
    for each row
    when :new.a4 = '条件B'
    begin
    insert b(b1,b2,b3) values(:new.a1,:new.a2,:new.a3);
    end
    when :new.a4 = '条件c'
    begin
    insert into c(c1,c2,c3)  values(:new.a1,:new.a2,:new.a3); 
    end
    end trig;
      

  9.   

    create table A (a1 int,a2 int,a3 int,a4 int,a5 int);
    create table B (b1 int,b2 int,b3 int) ;
    create table C (c1 int,c2 int,c3 int) ;create or replace trigger tri_a
    after insert
    on A
    REFERENCING new AS newdata
    for each row
    begin
      if (:newdata.a4 =1) then
        insert into  b(b1,b2,b3) values( :newdata.a1,:newdata.a2,:newdata.a3 );
      elsif (:newdata.a4 =2) then
        insert into c(c1,c2,c3) values( :newdata.a1,:newdata.a2,:newdata.a3 );
      end if;
    end tri_a;insert into a values(1,1,1,1,1)
    select * from b
    /*
        B1 B2 B3
    1 1 1 1*/insert into a values(2,2,2,2,1)
    select * from c
    /*
        C1 C2 C3
    1 2 2 2*/