Oracle 触发器问题??? 详情请进..... ( 积分: 100 )

  • 主题发起人 主题发起人 kk2000
  • 开始时间 开始时间
K

kk2000

Unregistered / Unconfirmed
GUEST, unregistred user!
---------------------------<br>错误<br>---------------------------<br>ORA-01403:&nbsp;no&nbsp;data&nbsp;found<br>ORA-06512:&nbsp;at&nbsp;&quot;CSI2005.TRI_KC06K4&quot;,&nbsp;line&nbsp;7<br>ORA-04088:&nbsp;error&nbsp;during&nbsp;execution&nbsp;of&nbsp;trigger&nbsp;'CSI2005.TRI_KC06K4'<br><br>查看错误堆栈的程序源?<br>---------------------------<br>是(Y)&nbsp;&nbsp;&nbsp;否(N)&nbsp;&nbsp;&nbsp;<br>---------------------------<br>触发器原程序:<br>CREATE&nbsp;OR&nbsp;REPLACE&nbsp;TRIGGER&nbsp;TRI_KC06K4<br>BEFORE&nbsp;INSERT&nbsp;<br>ON&nbsp;CSI2005.KC06K4<br>REFERENCING&nbsp;OLD&nbsp;AS&nbsp;OLD&nbsp;NEW&nbsp;AS&nbsp;NEW<br>FOR&nbsp;EACH&nbsp;ROW<br><br><br>DECLARE<br>&nbsp;&nbsp;s_AAE790&nbsp;temp_aa83.aae790%TYPE;<br>&nbsp;&nbsp;s_YKC130&nbsp;kc04k1.YKC130%type;<br>&nbsp;&nbsp;s_YKC140&nbsp;kc04k2.YKC140%type;<br>&nbsp;&nbsp;str_AAC001&nbsp;KC06.AAC001%type;<br>BEGIN<br>&nbsp;&nbsp;&nbsp;&nbsp;SELECT&nbsp;AAC001&nbsp;INTO&nbsp;str_AAC001&nbsp;from&nbsp;kc06&nbsp;where&nbsp;AKC020&nbsp;=&nbsp;:NEW.AKC020;<br>&nbsp;&nbsp;&nbsp;&nbsp;/*如果是退费由于不能在发生时立即冲到IC卡上,所以则需要往医保个人帐户收入流水帐表中增加一条记录*/<br>&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;:NEW.AKC186='9'&nbsp;and&nbsp;:NEW.AKC185&nbsp;&gt;&nbsp;0&nbsp;THEN<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SELECT&nbsp;SEQ_AAE790.NEXTVAL&nbsp;INTO&nbsp;S_AAE790&nbsp;FROM&nbsp;DUAL;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DELETE&nbsp;FROM&nbsp;TEMP_AA83&nbsp;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INSERT&nbsp;INTO&nbsp;TEMP_AA83&nbsp;(AAE790,AAA831,AAA832)&nbsp;VALUES&nbsp;(S_AAE790,'否','否');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SELECT&nbsp;SEQ_YKC130.NEXTVAL&nbsp;INTO&nbsp;S_YKC130&nbsp;FROM&nbsp;DUAL;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INSERT&nbsp;INTO&nbsp;KC04K1(YKC130,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;YKC028,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AAC001,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;YKC131,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;YKC132,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;YKC133,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;YKC134,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;YKC135)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VALUES(&nbsp;S_YKC130,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'14',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str_AAC001,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:NEW.AKC185,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:NEW.AAE011,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:NEW.AKC188,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:NEW.AKC180,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:New.YKC101);<br>&nbsp;&nbsp;&nbsp;&nbsp;ELSE&nbsp;IF&nbsp;:NEW.AKC186='5'&nbsp;AND&nbsp;:NEW.AKC185&nbsp;&gt;0&nbsp;THEN&nbsp;/*如果是正常消费项目,则需要记录到KC04K2表(医保个人帐户支出流水帐)*/<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SELECT&nbsp;SEQ_AAE790.NEXTVAL&nbsp;INTO&nbsp;S_AAE790&nbsp;FROM&nbsp;DUAL;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DELETE&nbsp;FROM&nbsp;TEMP_AA83&nbsp;;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INSERT&nbsp;INTO&nbsp;TEMP_AA83&nbsp;(AAE790,AAA831,AAA832)&nbsp;VALUES&nbsp;(S_AAE790,'否','否');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SELECT&nbsp;SEQ_YKC140.NEXTVAL&nbsp;INTO&nbsp;S_YKC140&nbsp;FROM&nbsp;DUAL;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INSERT&nbsp;INTO&nbsp;KC04K2(YKC140,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AAC001,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;YKC028,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;YKC141,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;YKC142,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;YKC143,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;YKC144,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;YKC145)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VALUES&nbsp;(&nbsp;s_YKC140,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str_AAC001,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'20',<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:NEW.AKC185,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:NEW.AKC188,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:NEW.AAE011,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:NEW.AKC180,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:NEW.YKC101);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;IF;<br>&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;IF;<br><br><br>END;<br>这个触发器怎么会造成上面的错误!
 
可能<br>SELECT&nbsp;AAC001&nbsp;INTO&nbsp;str_AAC001&nbsp;from&nbsp;kc06&nbsp;where&nbsp;AKC020&nbsp;=&nbsp;:NEW.AKC020;<br>没有查看数据;<br>把它之后的代码全部删除,试一下;<br>再一点一点地加入
 
SELECT&nbsp;AAC001&nbsp;INTO&nbsp;str_AAC001&nbsp;from&nbsp;kc06&nbsp;where&nbsp;AKC020&nbsp;=&nbsp;:NEW.AKC020;<br>这行代码是找到数据的,我测试过了
 
多人接受答案了。
 
后退
顶部