【问题标题】:No data found not executing in trigger未找到未在触发器中执行的数据
【发布时间】:2014-03-06 01:28:20
【问题描述】:

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

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 中是否有任何我应该注意的变化?

【问题讨论】:

  • 你能发布一个重现问题的测试用例吗? 11g 中似乎没有任何变化会导致这种行为。
  • 没关系,虚惊一场^_^。错误出现在本节之后调用的过程的第 66 行,但错误消息显示它来自触发器。哎哟.....

标签: exception-handling triggers oracle11g


【解决方案1】:

没关系,虚惊一场^_^。错误出现在本节之后调用的过程的第 66 行,但错误消息显示它来自触发器。哎哟.....

对不起

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    • 2015-01-23
    • 2017-05-29
    • 1970-01-01
    • 2019-10-22
    • 2020-06-02
    相关资源
    最近更新 更多