【发布时间】:2017-08-03 08:58:13
【问题描述】:
在 PL/SQL 中,在我的异常处理程序中,我使用 dbms_utility.format_error_backtrace 来捕获错误的回溯。当我在过程中遇到主键冲突时,这将返回以下错误消息:
ORA-00001: unique constraint (MY_USER.MY_TABLE_PK) violated ORA-06512: at line 41
所以现在我知道主键 MY_TABLE_PK 在第 41 行被违反。我想知道的是导致此主键违反的实际 SQL 语句,所以我希望我的错误消息包含类似 INSERT INTO MY_TABLE ... 的内容如果这是第 41 行发生的情况。
有人知道怎么做吗?
编辑:
我知道该语句可以在第 41 行找到。但是,这不是我要问的。我要问的是如何在我的错误消息中包含导致错误的 SQL 语句。
【问题讨论】:
-
你的编辑器应该能够显示第 41 行
-
您是否需要找到一条失败的 SQL 语句,它位于代码中的第 41 行(但有一些可能会使此信息出错)。如果您想知道哪些数据导致错误,请参阅我上面的评论。
-
@XING,我在问题中提到了回溯,这不是我要找的。span>
标签: sql oracle plsql error-handling backtrace