没有发现数据未在触发器中执行

时间:2014-02-08 15:43:58

标签: exception-handling triggers oracle11g

以下部分是我的触发器的相关部分

BEGIN SELECT rec_date
INTO lv_rec_date
FROM receipts_table
WHERE  receipts_number = new.receipts_number
EXCEPTION WHEN NO_DATA_FOUND THEN
   lv_partial := FALSE;
END;

问题在于,当它执行此部分而不是很好地捕获它时,我得到以下错误

ERROR at line 1:
ORA-01403: no data found
ORA-06512: at "APP.BEF_ROW_TRIGGER", line 66
ORA-04088: error during execution of trigger 'APP.BEF_ROW_TRIGGER'

这在Oracle 10及更低版本中运行良好。我检查了USER_SOURCE中的66行,这个触发器恰好是EXCEPTION WHEN NO_DATA_FOUND THEN行。它似乎遇到了NO_DATA_FOUND错误,但错误捕获似乎没有起作用。

我应该注意Oracle 11g中是否有任何变化?

1 个答案:

答案 0 :(得分:0)

没关系,误报^ _ ^。错误发生在本节后面调用的过程的第66行,但错误消息显示它来自触发器。哎呀......

对不起麻烦