在触发器调用函数中处理错误的最佳实践是什么



我目前正在编写dwh加载程序,它从restapi获取数据,然后主要从数据库插入到数据库。有一个带有插入后触发器的日志表;启动器";函数,用于启动加载函数。所以基本上:

API->检查上次加载是否已成功完成->插入到表->插入到日志表->触发器(等待FINNISH状态(->启动器功能->加载功能。

但我认为,如果程序出现问题,它会回滚整个交易(或者至少不会有最终状态(

目前我使用:

exception when others then

然而,奇怪的是,对于被称为过程的触发器,还有其他错误处理吗?你有什么最佳做法吗?

提前谢谢!

切勿使用WHEN OTHERS THEN。这将";燕子;您不希望错过的错误,如数据损坏或其他意外的运行时事件。

通常,您不应该在触发器中处理任何异常。相反,编写在正常情况下不会导致错误的好代码。你希望触发成功,对吧?在正常情况下,如果触发器出现问题,希望操作失败。

如果必须,捕获并处理在正常情况下预期的特定异常。

相关内容

最新更新