2020-03-16

 统计下某环境中包体’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#;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容