oracle10G 
有表A(MC,DM)
  表B (SJ,ND,MC,DM)
当向表A插入数据的时候要求同事在表B生成MC不为空,代码为1001 的数据。例如  像表A同时插入4条数据 
   (黄,1001)
   (绿,1000)
   (蓝,1002)
   (黑,1001)
要求在表B中同时生成第1和4两条符合记录的数据如下
    (2009-2-23,2009,黄,1001)
     (2009-2-23,2009,黑,1001)请问这样的情况 ,在触发器中如何实现,谢谢!!!

解决方案 »

  1.   

    create or replace trigger TR_表A_INSERT
      after insert on 表A 
      FOR EACH ROW 
    declare
    v_date date;
    begin 
    v_date := sysdate;
    insert into 表B values(v_date, to_char(v_date, 'yyyy'), :new.MC, '1001');
    end TR_表A_INSERT;
      

  2.   

    create or replace trigger TR_表A_INSERT
      after  insert on 表a  
      for each row
    declare
      v_date date;
    begin
      if :new.DM='1001'
       then  v_date := sysdate;
         insert into 表B values(to_char(v_date,'yyyy-mm-dd'), to_char(v_date, 'yyyy'), :new.MC, '1001');
      end if;
    end TR_表A_INSERT;是不是这个意思?