我在Toad为oracle创建了一个名为error_log的表。这样做的目的是记录以前编写的包可能遇到的任何错误,并记录它们供开发人员查看。现在,我的任务是创建一个包/过程,它本质上会导致错误,并能够将其记录到error_log表中?关于我将如何处理的任何想法?
答案 0 :(得分:3)
首先,使包过程成为一个自治事务,这样即使调用事务回滚,写入日志的任何内容都会保持写入状态。
其次,让你的日志程序的调用者尽可能少地传递信息:理想情况下,只是一条消息。在日志过程中,您可以执行以下操作:
第三,这只是我的观点,没有“消息级别”的概念。我基本上有两种类型的消息 - 错误和非错误。总是写错误;可以打开或关闭非错误。当您尝试使用“Fine”,“Finer”和“Finest”等日志记录级别时,无论何时出现问题,您都会将其打开为“最佳”。
答案 1 :(得分:-1)
您需要使用RAISE_APPLICATION_ERROR
过程,该过程允许您引发已定义的错误。