请问下大侠们,
我有个A表和B表,我想A表在插入一条新数据之后 自动触发B表,在B表新增插入10条数据,这个应该怎么写?特别是B表的ID需要自动插入

解决方案 »

  1.   

    写一个后置触发器,另外B表的Id可以采用Sequence来做ID的自动增长。
      

  2.   

    是的  行级触发器  下面只是个触发器的例子   改一下就能用
    create or replace trigger t_insert
      after insert or  delete or update on test  
      for each rowbegin
        if inserting then
        insert into test_audit values(test_seq.nextval,user,'insert',:new.name);
       
        elsif updating then
          insert into test_audit values(test_seq.nextval,user,'update',:new.name ||'_'||:old.name);
        
        elsif deleting then
          insert into test_audit values(test_seq.nextval,user,'delete',:old.name);
        end if;
        
    end;
      

  3.   

    create or replace trigger projectexpend_tigger after insert or delete on pt_project for each row
    begin
    if inserting then
    insert into pt_projectexpend(id,projectid,landid,taxpaterid,subject,pricetype)
    select projectexpend_sequence.NEXTVAL,:new.id,:new.landid,:new.taxpayerid,'土地征用及拆迁补偿费','土地出让金' from dualunion
    select projectexpend_sequence.NEXTVAL,:new.id,:new.landid,:new.taxpayerid,'土地征用及拆迁补偿费','土地契税' from dual;
    end if;
    end;我需要同时插入多条 这样写好像也不对啊
      

  4.   

    插入多条,写循环罢。
    自增列,使用序列(sequence)来实现。