gpt4 book ai didi

sql - Oracle SQL错误处理: catching the SQL-statement

转载 作者:行者123 更新时间:2023-12-03 08:49:13 25 4
gpt4 key购买 nike

在PL/SQL中,在异常处理程序中,我使用dbms_utility.format_error_backtrace捕获错误的回溯。当我在过程中遇到主键冲突时,这将返回以下错误消息:

ORA-00001: unique constraint (MY_USER.MY_TABLE_PK) violated ORA-06512: at line 41

所以现在我知道第41行违反了主键MY_TABLE_PK。我想知道是导致此主键违规的实际SQL语句,所以如果发生这种情况,我希望我的错误消息中包含类似 INSERT INTO MY_TABLE ...的内容在第41行。

有谁知道这是怎么做到的吗?

编辑:

我知道该语句可以在第41行中找到。但是,那不是我要的。我要问的是如何在我的错误消息中包含导致错误的SQL语句。

最佳答案

如果在无法使用编辑器显示数据库代码的地方运行此代码,则可以执行以下操作;

SELECT line, text
FROM all_source
WHERE line BETWEEN :err_line - 10 AND :err_line + 10 AND name = :pkg

关于sql - Oracle SQL错误处理: catching the SQL-statement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45479475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com