create or replace trigger tr1
after insert on A for each row
begin
if :new.userkinds='001' then
   insert into B values(:new.userid,'123');
end if;
end;
/

解决方案 »

  1.   

    对不起还没有说完,
    如果userkinds为002则插入B表flag为456
      

  2.   

    create or replace trigger tr1
    after insert on A for each row
    begin
       insert into B values(:new.userid,decode(:new.userkinds,'001','123','002','456'));
    end;
    /
    呵呵,楼主还有补充么?
      

  3.   

    还有补充啊,不能用decode的,因为我想变量为001时要插入多条记录,变量为002又要插入多条记录.create or replace trigger addmenurole
    after insert on hospital_nurse for each row
    begin
    if :new.userkinds='004' then
       insert into hospital_menu_role(userid,menuid) values(:new.userid,'12');   
     end if;
     
     if :user.userkinds='003' then
       insert into hospital_menu_role(userid,menuid) values(:new.userid,'10');
     end if;  
     
       insert into hospital_menu_role(userid,menuid) values(:new.userid,'28');
       insert into hospital_menu_role(userid,menuid) values(:new.userid,'29');
       insert into hospital_menu_role(userid,menuid) values(:new.userid,'30');
    end;我这样写编译通不过?
      

  4.   

    create or replace trigger trigger_name
    after insert on table_a
    for each row
    begin
    if :new.userkinds = '001' then
       insert into tables_b(userid,flag) values(:new.userid,'123');
    end if;
    if :new.userkinds = '002' then
       insert into tables_b(userid,flag) values(:new.userid,'456');
    end if;
    end;