忽略oracle触发器中的异常

Posted

技术标签:

【中文标题】忽略oracle触发器中的异常【英文标题】:Ignoring exception in oracle trigger 【发布时间】:2010-11-20 18:04:02 【问题描述】:

我有一个表,其中包含一些由触发器维护的非规范化预计算列。数据有时会损坏并且进程会失败,但在这些情况下,我只需忽略异常并继续,因为捕获错误并不重要。

如何编写异常子句以在发生异常时继续执行而不引发任何错误?

我试过把子句留空:

...
EXCEPTION
    WHEN OTHERS THEN


end test_trigger;

但它不会编译。

我错过了什么?我应该包括一些“通过”条款吗?

【问题讨论】:

“WHEN OTHERS THEN do nothing”是一个非常糟糕的主意。任何错误都可能发生(包括您可能想知道的一些错误),而您永远不会知道。您也可以节省时间并且根本不设置 precalc 列。你应该弄清楚在正常的工作过程中可能会出现什么样的异常,并明确地处理它们。 【参考方案1】:
...
EXCEPTION
    WHEN OTHERS THEN
        NULL;

end test_trigger;

【讨论】:

以上是关于忽略oracle触发器中的异常的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 异常未在触发器中捕获

Oracle中的触发器是请求的一部分吗?

基本 Oracle 触发器审计表

Oracle03——游标异常存储过程存储函数触发器和Java代码访问Oracle对象

oracle触发器及异常处理 简单例子

Oracle笔记4-pl/sql-分支/循环/游标/异常/存储/调用/触发器