oracle - 作为 18C 升级的一部分,OWA_UTIL.who_ Called_me 中进行了哪些更改?

标签 oracle plsql updates

OWA_UTIL.WHO_CALLED_ME(
   owner          OUT      VARCHAR2,
   name           OUT      VARCHAR2,
   lineno         OUT      NUMBER,
   caller_t       OUT      VARCHAR2);

此过程返回有关调用它的 PL/SQL 代码单元的信息(以输出参数的形式)。作为 Oracle 18C 升级的一部分,是否发生了任何更改。我听说 name 变量现在将具有包名称和过程名称,之前它只是 proc/function 名称

最佳答案

在 11g 中,OWA_UTIL.WHO_CALLED_ME 返回调用者是一个包的事实,但不包含包内过程的名称。您必须使用 WHO_CALLED_ME 返回的行号并检查包体的源代码来确定调用过程。 11g dbfiddle here

在 18c 中,WHO_CALLED_ME 返回的 NAME 包括包名称和包内的过程名称。行号仍然返回。 18c dbfiddle here

关于oracle - 作为 18C 升级的一部分,OWA_UTIL.who_ Called_me 中进行了哪些更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56445796/

相关文章:

oracle - PL/SQL 拆分字符串,获取最后一个值?

sql - PL/SQL表类型的列名

sql - 如何重命名Oracle的默认约束?

sql - 数组在IN()子句中oracle PLSQL

iOS 更新后首次启动

java - 如何更新 AbstractTableModel

java.sql.Connection createArrayOf() 返回不支持的功能

sql - unicorn 观测结果的部分非规范化

java - Spring Boot 2.0 中的 EmbeddedServletContainerAutoConfiguration 和 ServerPropertiesAutoConfiguration

linux - 在linux(CENTOS)上为多个ORACLE HOME配置.bash_profile