Oracle如何查看表空间内有哪些存储过程?

如题所述

SELECT a.owner,
a.segment_name,
b.OBJECT_NAME -- 存储过程名
From dba_segments a,
DBA_OBJECTS b
WHERE a.tablespace_name = '表空间名称'
and trim(a.owner) = trim(b.OWNER)
and b.OBJECT_TYPE = 'PROCEDURE' --对象类型:存储过程

一般查看的时候就用owner.OBJECT_NAME就是完整存储过程名
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-04-10
可以通过dba权限进行以下方法查询。
方法一(简单查询定位到所有的存储过程):
select * from DBA_objects where object_type='PROCEDURE' ;
方法二(复杂查询直接定位到表空间):

SELECT * from dba_segments a, DBA_OBJECTS b WHERE a.tablespace_name = 'tablespace' and trim(a.owner) = trim(b.owner ) and b.OBJECT_TYPE = 'PROCEDURE'
第2个回答  2013-09-09
表空间里保存的是segment而不是存储过程,存储过程包括function,package,procedure,trigger等等,通过表空间是找不到任何存储过程的
查dba_objects这个字典吧,具体看object_type
第3个回答  2013-09-09
SELECT * FROM Dba_Procedures a WHERE a.owner = '实例名'
相似回答