你插入或更新之前都沒有啟用觸發
觸發里面的事件還能被觸發嗎

解决方案 »

  1.   

    什么意思?我就想在插入或更新之后触发
      

  2.   

    这题涉及到变化表的问题,可采用两个触发器来实现,一个语句级,一个行级,行级触发器先获取插入记录的laneno值,并放到包中,以供语句级触发器使用
    1。创建包
    create or replace package pkg_1 as 
    newlaneno number(3);
    end;create or replace package pkg_1 body as 
    end;2。创建行级触发器
    create or replace trigger trigger_2
    before insert or update 
    on tableA
    for each row
    declare
    begin
    pkg_1.newlaneno:=:new.laneno;
    end;3。创建语句级触发器
    create or replace trigger trigger_1
    after insert or update 
    on tableA
    declare
    talbeA_rec tableA%rowtype;
    cursor tableA_cur is
    select * from tableA where laneno=pkg_1.newlaneno;
    begin
    for tableA_rec in tableA_cur
    loop
    case tableA_rec.tab_code
    when 1 then 
    insert into tableB(currver1,futuver1) values(tableA_rec.currver,tableA_rec.futuver);
    when 2 then 
    insert into tableB(currver2,futuver2) values(tableA_rec.currver,tableA_rec.futuver);
    when 3 then insert into tableB(currver3,futuver3) values(tableA_rec.currver,tableA_rec.futuver);
    (略)
    end case;
    end loop;
    end;
    一切OK