问题描述
这可能是一个愚蠢的问题,但我想知道是否有任何方法可以在PL/SQL过程中捕获此错误 “ORA-01013用户请求取消当前操作”。
我的要求是在过程终止时退出之前更新数据库记录
1.用户按下了一个控制C或一些这样的显式中断命令,引发ORA-01013或
2.再次出现超时导致ORA-01013
要进一步解释这可能有帮助的确切情况,如下所示:-
假设我正在执行一系列DB查询,并在查询执行完成时将状态更新为完成。现在,当遇到上述错误时,我想在完成之前更新查询的状态为 “中止”。正常的PL/SQL异常不允许我这样做,因为它现在出现了。
显然,这看起来是不可能的,但我正在寻找任何聪明的方法来做到这一点,如果有可能的话。
谢谢
Arnab Panja
我的要求是在过程终止时退出之前更新数据库记录
1.用户按下了一个控制C或一些这样的显式中断命令,引发ORA-01013或
2.再次出现超时导致ORA-01013
要进一步解释这可能有帮助的确切情况,如下所示:-
假设我正在执行一系列DB查询,并在查询执行完成时将状态更新为完成。现在,当遇到上述错误时,我想在完成之前更新查询的状态为 “中止”。正常的PL/SQL异常不允许我这样做,因为它现在出现了。
显然,这看起来是不可能的,但我正在寻找任何聪明的方法来做到这一点,如果有可能的话。
谢谢
Arnab Panja
专家解答
否。如MOS note 12838063.8状态,错误12838063修复了错误,您可以捕获此异常!
PL/SQL exception handlers can catch errors like ORA-3113 or ORA-1013
which should not be trappable by an exception handler. This can lead
to follow on errors, such as ORA-7445 or similar due to incorrect
session state after the error.
所以如果你想陷阱,你需要在客户端程序中做到这一点。
PL/SQL exception handlers can catch errors like ORA-3113 or ORA-1013
which should not be trappable by an exception handler. This can lead
to follow on errors, such as ORA-7445 or similar due to incorrect
session state after the error.
所以如果你想陷阱,你需要在客户端程序中做到这一点。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
659次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
626次阅读
2025-04-15 17:24:06
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
534次阅读
2025-04-20 10:07:02
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
480次阅读
2025-04-22 00:20:37
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
479次阅读
2025-04-17 17:02:24
一页概览:Oracle GoldenGate
甲骨文云技术
461次阅读
2025-04-30 12:17:56
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
450次阅读
2025-04-22 00:13:51
火焰图--分析复杂SQL执行计划的利器
听见风的声音
407次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
370次阅读
2025-04-15 14:48:05
OR+DBLINK的关联SQL优化思路
布衣
346次阅读
2025-05-05 19:28:36