代码之家  ›  专栏  ›  技术社区  ›  Adam Paynter

pl/sql:检索包中过程和函数的名称

  •  4
  • Adam Paynter  · 技术社区  · 15 年前

    是否可以检索驻留在特定包中的所有过程和函数的名称?我知道它们可以被收集(气味 骇客 )来自 ALL_SOURCE 但我更喜欢更规范的策略。

    2 回复  |  直到 15 年前
        1
  •  9
  •   Justin Cave    15 年前

    dba程序在包中具有公共方法

    SELECT owner, 
           object_name AS package_name, 
           procedure_name AS method_name
      FROM dba_procedures
     WHERE object_type = 'PACKAGE'
    

    如果您还需要私有方法,那么在数据字典中不能直接访问该信息。在这种情况下,您需要解析源代码(这显然是相当痛苦的,特别是当您碰巧在包中的公共或私有方法中嵌套了私有方法时)。

        2
  •  1
  •   akf    15 年前

    下面将返回特定包中的所有过程和函数名:

    SELECT procedure_name FROM user_procedures WHERE object_name='mypackagename';