create or replace trigger trig_name
    after insert on tableA
    for each row
begin 
    if :new.mof='4' then 
        insert into tableB values(:new.id,:new.name,:new.mof.......);  A表中的字段;
    end if;
end ;

解决方案 »

  1.   

    最好在  for each row 的前面增加 referencing old as old  new as new,否则后面的new有可能系统无法识别
      

  2.   

    为什么我这样写不行:if :new.mof='4' then
                        insert into tableb 
                       select * from tableA;
      

  3.   

    你这样的写法是错误的,首先,在触发器中不能对建立触发器的表进行操作,其次,即使可以操作,你这样写逻辑上和你说的要求不一致,你这样要把A表中的所有数据都插入到B表,而不是把这条记录插入到B表