我有一个问题,当我捕获异常时,原始堆栈跟踪丢失,然后提高它.

>在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中原始异常的堆栈跟踪?相关推荐

  1. 金仓数据库KingbaseES 迁移工具—PL/SQL中Oracle和KingbaseES 的对比

    关键字: KingbaseES.PL/SQL.存储过程.函数 一.PL/SQL语言兼容特性 在 PL/SQL 语言方面,KingbaseES 提供了大量的Oracle 兼容特性.这些特性使得大多数的 ...

  2. oracle sql字符拆分字符串函数,oracle-是否有在PL / SQL中拆分字符串的功能?

    oracle-是否有在PL / SQL中拆分字符串的功能? 我需要编写一个过程来规范具有由一个字符连接的多个令牌的记录. 我需要获得这些令牌来分割字符串,并将每个令牌作为新记录插入表中. Oracle ...

  3. Oracle在Pl/sql中的存储过程----zhoudianzhang

    Oracle 存储过程 目录 Oracle 存储过程... 1 Oracle存储过程基础知识... 1 Oracle存储过程的基本语法... 2 关于Oracle存储过程的若干问题备忘... 4 1. ...

  4. oracle学习总结2(pl/sql 游标 异常的处理 存储过程和函数 包 触发器)

    pl/sql的学习 给sql添加了逻辑判断与流程控制的功能 语法: declare begin exception end; 运算符 重要的就是赋值运算符了:=        连接  ||       ...

  5. PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法

    PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法 参考文章: (1)PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法 (2)https://www. ...

  6. oracle 偶数与奇数,在PL / SQL中计算数字中的奇数和偶数

    我们给定一个正整数数字,任务是使用PL / SQL计算数字中奇数和偶数的计数. PL / SQL是SQL与编程语言的过程功能的组合.它是由Oracle Corporation在90年代初开发的,目的是 ...

  7. 在pl/sql中使用exp/imp工具实现oracle数据导出/导入

    在pl/sql中使用exp/imp工具实现oracle数据导出/导入 2006年11月19日 星期日 10:59 Oracle 数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令 ...

  8. Oracle入门(十四.4)之在PL / SQL中使用变量

    一.变量的使用 (1)使用变量的原因 •临时存储数据 •储存值的操作 •可重用性 (2)处理PL / SQL中的变量 变量是: •在声明部分声明并初始化 •在可执行部分中使用并分配新值 变量可以是: ...

  9. Oracle入门(十四G)之PL / SQL中检索数据

    一.PL / SQL中检索数据 (1)PL / SQL中的SQL语句 可以在PL / SQL中使用以下几种SQL语句: •SELECT从数据库检索数据. •DML语句,例如INSERT,UPDATE和 ...

  10. oracle PL/SQL(procedure language/SQL)程序设计(在PL/SQL中使用SQL)

    在PL/SQL程序中,允许使用的SQL语句只有DML和事务控制语句,使用DDL语句是非法的. 使用SELECT语句从数据库中选取数据时,只能返回一行数据. 使用COMMIT,  ROLLBACK, 和 ...

最新文章

  1. 175 道面试必考 Go 语言题目详细解答
  2. Cacti迁移RRA数据迁移脚本
  3. Linux内核内存管理(3):kmemcheck介绍
  4. mysql一秒查询次数_单个select语句实现MySQL查询统计次数
  5. Java反编译工具:Java Decompiler
  6. Failed to create AppDomain 'xxx'. Exception has been Failed to create AppDomain
  7. ffmpeg将视频转换成图片
  8. 微信小程序开发实战第六讲之手机号验证码登录
  9. Java笔记17:JAVA常用函数
  10. python日常应用——pdf拆分和合并 python PyPDF2
  11. python实现离职滤波_如何用Python预测员工离职率?
  12. 新号起步狂揽近200万粉,“老年”账号也能成为推广黑马
  13. 怎么样开启移动热点?看我操作,简单开启
  14. 应届生HR面试需要准备的六大类问题
  15. 失落世界服务器国庆宝箱位置,失落的斯菲尔 图文攻略 全剧情任务流程全宝箱收集...
  16. 不选主元的矩阵三角分解法
  17. SDUT 2055-来淄博旅游
  18. 内核proc参数注释(kernel、vm、net、fs四类)
  19. 想骂人!开发语言不能统一成一个么?
  20. 盈利超预期+追加10亿美元股票回购计划,是时候重估欢聚集团的价值

热门文章

  1. 图片→矩阵→空间→坍缩-→质点--用神经网络将空间坍缩成粒子的实验数据汇总
  2. mysql jdbc 5.1.6_mysql5.0+Mysqljdbc5.1.6.jar的整合 | 學步園
  3. python 网关控制家居_在树莓派上搭建智能家居网关
  4. 【数理知识】《积分变换与场论》王振老师-第3章-矢量与矢量空间
  5. 4.2 深层网络中的前向传播-深度学习-Stanford吴恩达教授
  6. 联想笔记本ideapad700 15isk添加内存
  7. 考前自学系列·计算机组成原理·IEEE 754 单精度浮点数和真值之间的转化
  8. ios 原生骨架动画库
  9. 你能用微信小程序打开小程序了【附开发方法】
  10. 移动端H5页面高清多屏适配方案