是否可以检索特定包中的所有过程和函数的名称?我知道他们可以从ALL_SOURCE视图中收集(闻起来像是hack-ish),但我更喜欢更规范的策略.
解决方法
DBA_PROCEDURES具有包中的公共方法
SELECT owner,object_name AS package_name,procedure_name AS method_name FROM dba_procedures WHERE object_type = 'PACKAGE'
如果您还需要私有方法,则无法在数据字典中直接访问该信息.在这种情况下,您需要解析源代码(这显然会非常痛苦,特别是如果您碰巧在包中的公共或私有方法中嵌套了私有方法).