Oracle 怎么查询函数在哪个包里?比如TRUNC这个函数

系统包或者自己创建的包,在只知道函数名的情况下,怎么定位到包呢?

查看包中函数、过程的SQL语句:
SELECT owner,name,text,line FROM DBA_SOURCE where type = 'PACKAGE' and (TEXT like ' procedure%' or TEXT like ' function%');
结果中,owenr:哪个用户的,name:哪个包,text:函数名及部分参数,line:行位置
如果要看到全部参数,看line,然后+1、+2...就可以看到
查看函数、过程的SQL语句:
SELECT OWNER,NAME,TYPE,TEXT,line FROM DBA_SOURCE WHERE LINE=1 AND TYPE IN ('FUNCTION','PROCEDURE');
如果要看完整的参数定义,按owner,name,type,text定位,一般前几行就是参数定义。
以上语句测试过,应该能满足你的要求。
别忘了给“最佳答案”就行(呵呵)
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-13
系统包很多是看不了的(都加密了),自己写的可以在pl/sql任意一个窗口写你的函数名后按着ctrl键鼠标左击就进去了追问

按着会出现下划线,但是点不进去。。

追答

TRUNC是系统函数
看不了
我说的是自定义函数可以这样看

追问

楼下那个的方法就可以的。。

相似回答