【发布时间】:2026-02-04 06:30:01
【问题描述】:
我是 PL SQL 的新手,我想知道有没有办法(方法/函数/等)可以获得调用我的过程的嵌套过程的名称?
例如,我有 my_procedure,它被嵌套在 another_package 中的 another_procedure 调用。我想要一个在 my_procedure 中实现的函数/方法,它每次都告诉我哪个嵌套过程称为 my_procedure,在本例中为 my_procedure。
我正在使用 owa_util.who_call_me 来获取包和所有者名称。
【问题讨论】:
-
nameout 参数来自owa_util.who_called_me告诉您调用的包和过程名称;所以我不确定引用你在找什么?也许minimal reproducible example 会有所帮助。 -
不,它只考虑最外层的对象,因为它是一个嵌套过程。因此,对于我的示例,我从调用它的位置获取所有者、包、包中的行和“包体”。
-
好的,那么您使用的是旧版本; 18c shows both,11g doesn't。您实际使用的是哪个版本 - 它可能会影响其他可用版本?
-
我的版本是12.1
-
这个答案包括如何获取调用过程:*.com/a/50541599/230471 不过我不确定你所说的嵌套过程是什么意思。
标签: sql oracle plsql toad plsql-package