oracle获取堆栈,如何从RAISED异常中获取oracle PL / SQL中原始异常的堆栈跟踪?
我有一个问题,当我捕获异常时,原始堆栈跟踪丢失,然后提高它.
>在proc_a中抛出异常
>抓住例外.
>执行回滚.
>提出异常.
>捕获异常(父块)
>打印堆栈跟踪:SUBSTR(SQLERRM || chr(10)|| DBMS_UTILITY.FORMAT_ERROR_BACKTRACE(),1,3999)
例:
DECLARE
BEGIN
DECLARE
lv_val VARCHAR2(1);
BEGIN
SELECT dummy INTO lv_val -- Line# 6 (desired)
FROM dual
WHERE dummy = 'FFF';
EXCEPTION
WHEN OTHERS THEN
--DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM || chr(10) || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE(), 1, 3999));
RAISE; -- Line# 12 (actual)
END;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM || chr(10) || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE(), 1, 3999));
END;
/
期望的结果:
原始异常的行号(步骤1).
ORA-01403: no data found
ORA-06512: at line 6
要么
ORA-01403: no data found
ORA-06512: at line 12
Caused By:
ORA-01403: no data found
ORA-06512: at line 6
实际结果:
RAISE的行号(步骤4).
ORA-01403: no data found
ORA-06512: at line 12
失败的其他尝试:
SQLERRM || chr(10)|| DBMS_UTILITY.FORMAT_ERROR_STACK()
ORA-01403: no data found
ORA-01403: no data found
SQLERRM || chr(10)|| DBMS_UTILITY.FORMAT_CALL_STACK()
ORA-01403: no data found
----- PL/SQL Call Stack -----
object line object
handle number name
0xee1cbd68 18 anonymous block
oracle获取堆栈,如何从RAISED异常中获取oracle PL / SQL中原始异常的堆栈跟踪?相关推荐
- 金仓数据库KingbaseES 迁移工具—PL/SQL中Oracle和KingbaseES 的对比
关键字: KingbaseES.PL/SQL.存储过程.函数 一.PL/SQL语言兼容特性 在 PL/SQL 语言方面,KingbaseES 提供了大量的Oracle 兼容特性.这些特性使得大多数的 ...
- oracle sql字符拆分字符串函数,oracle-是否有在PL / SQL中拆分字符串的功能?
oracle-是否有在PL / SQL中拆分字符串的功能? 我需要编写一个过程来规范具有由一个字符连接的多个令牌的记录. 我需要获得这些令牌来分割字符串,并将每个令牌作为新记录插入表中. Oracle ...
- Oracle在Pl/sql中的存储过程----zhoudianzhang
Oracle 存储过程 目录 Oracle 存储过程... 1 Oracle存储过程基础知识... 1 Oracle存储过程的基本语法... 2 关于Oracle存储过程的若干问题备忘... 4 1. ...
- oracle学习总结2(pl/sql 游标 异常的处理 存储过程和函数 包 触发器)
pl/sql的学习 给sql添加了逻辑判断与流程控制的功能 语法: declare begin exception end; 运算符 重要的就是赋值运算符了:= 连接 || ...
- PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法
PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法 参考文章: (1)PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法 (2)https://www. ...
- oracle 偶数与奇数,在PL / SQL中计算数字中的奇数和偶数
我们给定一个正整数数字,任务是使用PL / SQL计算数字中奇数和偶数的计数. PL / SQL是SQL与编程语言的过程功能的组合.它是由Oracle Corporation在90年代初开发的,目的是 ...
- 在pl/sql中使用exp/imp工具实现oracle数据导出/导入
在pl/sql中使用exp/imp工具实现oracle数据导出/导入 2006年11月19日 星期日 10:59 Oracle 数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令 ...
- Oracle入门(十四.4)之在PL / SQL中使用变量
一.变量的使用 (1)使用变量的原因 •临时存储数据 •储存值的操作 •可重用性 (2)处理PL / SQL中的变量 变量是: •在声明部分声明并初始化 •在可执行部分中使用并分配新值 变量可以是: ...
- Oracle入门(十四G)之PL / SQL中检索数据
一.PL / SQL中检索数据 (1)PL / SQL中的SQL语句 可以在PL / SQL中使用以下几种SQL语句: •SELECT从数据库检索数据. •DML语句,例如INSERT,UPDATE和 ...
- oracle PL/SQL(procedure language/SQL)程序设计(在PL/SQL中使用SQL)
在PL/SQL程序中,允许使用的SQL语句只有DML和事务控制语句,使用DDL语句是非法的. 使用SELECT语句从数据库中选取数据时,只能返回一行数据. 使用COMMIT, ROLLBACK, 和 ...
最新文章
- 175 道面试必考 Go 语言题目详细解答
- Cacti迁移RRA数据迁移脚本
- Linux内核内存管理(3):kmemcheck介绍
- mysql一秒查询次数_单个select语句实现MySQL查询统计次数
- Java反编译工具:Java Decompiler
- Failed to create AppDomain 'xxx'. Exception has been Failed to create AppDomain
- ffmpeg将视频转换成图片
- 微信小程序开发实战第六讲之手机号验证码登录
- Java笔记17:JAVA常用函数
- python日常应用——pdf拆分和合并 python PyPDF2
- python实现离职滤波_如何用Python预测员工离职率?
- 新号起步狂揽近200万粉,“老年”账号也能成为推广黑马
- 怎么样开启移动热点?看我操作,简单开启
- 应届生HR面试需要准备的六大类问题
- 失落世界服务器国庆宝箱位置,失落的斯菲尔 图文攻略 全剧情任务流程全宝箱收集...
- 不选主元的矩阵三角分解法
- SDUT 2055-来淄博旅游
- 内核proc参数注释(kernel、vm、net、fs四类)
- 想骂人!开发语言不能统一成一个么?
- 盈利超预期+追加10亿美元股票回购计划,是时候重估欢聚集团的价值
热门文章
- 图片→矩阵→空间→坍缩-→质点--用神经网络将空间坍缩成粒子的实验数据汇总
- mysql jdbc 5.1.6_mysql5.0+Mysqljdbc5.1.6.jar的整合 | 學步園
- python 网关控制家居_在树莓派上搭建智能家居网关
- 【数理知识】《积分变换与场论》王振老师-第3章-矢量与矢量空间
- 4.2 深层网络中的前向传播-深度学习-Stanford吴恩达教授
- 联想笔记本ideapad700 15isk添加内存
- 考前自学系列·计算机组成原理·IEEE 754 单精度浮点数和真值之间的转化
- ios 原生骨架动画库
- 你能用微信小程序打开小程序了【附开发方法】
- 移动端H5页面高清多屏适配方案