前端之家收集整理的这篇文章主要介绍了
在Oracle PL / SQL中获取调用过程或函数的名称,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有人知道PL /
sql过程(在这种情况下是
错误记录的)是否可以
获取调用它的
函数/过程的
名称?
显然,我可以把这个名称作为一个参数传递,但是做一个系统调用或者获取信息是很好的 – 如果没有从一个过程/函数中调用它,它可能只返回null或某些东西.
如果没有任何方法,这很好 – 只是好奇,如果可能(搜索不产生任何东西).
有一个名为OWA_UTIL的包(默认情况下不会在旧版本的
数据库中安装).这有一个
方法WHO_CALLED_ME()返回OWNER,OBJECT_NAME,LINE_NO和CALLER_TYPE.请注意,如果
调用者是打包过程,它将返回PACKAGE
名称而不是过程
名称.在这种情况下,没有办法
获取过程
名称;这是因为过程
名称可以重载,所以它不一定非常有用.
Find out more.
由于10gR2还有$$PLsql_UNIT特殊功能;这也将返回OBJECT NAME(即包装不包装过程).