统计下某环境中包体’PACKAGE BODY‘中包含PROCEDURE/FUNCTION的名称有哪些
例如:’PACKAGE BODY‘ 名称PKG_B,包含一个PT_1'PROCEDURE'和FN_1‘FUNCTION’
需要显示结果
OWNEROBJECT_NAMEOBJECT_TYPETYPEPROCEDURE#PROCEDURENAME
LOTTERYPGK_ESPACKAGEPROCEDURE1PT_1
LOTTERYPGK_ESPACKAGEFUNCTION2FN_1
注释:包和包体一一对应;
SELECT O.OWNER 对象所属者,
O.OBJECT_NAME 包名,
--O.OBJECT_TYPE ,
( CASE
WHEN S.PROPERTIES = 27131904 THEN
'FUNCTION'
WHEN S.PROPERTIES = 29229056 THEN
'PROCEDURE'
ELSE
TO_CHAR(S.PROPERTIES)
END ) 包体下对象类型,
/*本人环境 PROPERTIES值代表意义
27131904==>FUNCTION;
29229056==>PROCEDURE;
没确定PROPERTIES ==> 29229056、27131904 2值依据哪里查到的.该部分需要根据环境情况哈~*/
S.PROCEDURE# 对象顺序,
S.PROCEDURENAME 对象名称
FROM SYS.PROCEDUREINFO$ S --所有存储(包括PACKAGE里的PROCEDURE/FUNCTION...)
JOIN DBA_OBJECTS O
ON O.OBJECT_ID = S.OBJ#
AND O.OWNER = 'SHQA_950_YX'
AND O.OBJECT_TYPE = 'PACKAGE' -- 对象类型为PACKAGE包
ORDER BY O.OBJECT_NAME, S.PROCEDURE#;
网友评论