比如这样的触发器代码是正确的:
begin
 update t_turnmsg_01 set TURNCHECK=:new.TURNCHECK,TURNCTIME=:new.TURNCTIME,RESULT=:new.RESULT,LINKMAN=:new.LINKMAN,LINKPHONE=:new.LINKPHONE,
 BTIME=:new.BTIME,BTRANSACTOR=:new.BTRANSACTOR,STATUS=:new.STATUS where TRANSACTIONID=:old.TRANSACTIONID;
 end;现在我要在这上面再加个判断功能,根据触发条件的表的字段来判断更新到哪个表像这样,
if :new."SOURCE"='01' then
update t_turnmsg_01 set ……
elsif :new."SOURCE"='02' then
update t_unitmsg_01 set……
end if;但是改完了以后就提示 “索引中丢失in 或者 out 参数::1”
请问一下应该如何实现?触发器

解决方案 »

  1.   

    你是在OEM里做的?
    骚年,搞个plsqldev吧。。
      

  2.   


    有啊,我在PLSQL Developer 里执行后也是一样的
      

  3.   


    create or replace trigger turnup22
    after insert
     on MTGWGH.ot_uplists
     for each row
    begin
     insert into t_turnmsg_01("TRANSACTIONID","PHONE1","PHONE2","NAME","SEX","ADDRESS","HELPTIME","HELPCONTENT","SIMPLETYPE","RESULT","LINKMAN","LINKPHONE","STATUS") 
     values(:new."TRANSACTIONID",:new."PHONE1",:new."PHONE2",:new."NAME",:new."SEX",:new."ADDRESS",:new."HELPTIME",:new."HELPCONTENT",:new."SIMPLETYPE",:new."RESULT",:new."LINKMAN",:new."LINKPHONE",:new."STATUS")
     end;这个代码有什么问题?
      

  4.   


    这段代码,除了insert语句最后没有分号之外,没有任何问题——执行正常,触发也正常。