PL / SQL: Recuperar nombres de procedimientos y funciones dentro de un paquete
-
21-08-2019 - |
Pregunta
¿Es posible recuperar los nombres de todos los procedimientos y funciones que residen dentro de un paquete en particular? Tengo entendido que se puede extraer (olores Hack-ish ) desde el punto de vista ALL_SOURCE
, pero yo preferiría una estrategia más canónica.
Solución
DBA_PROCEDURES tiene los métodos públicos dentro de un paquete
SELECT owner,
object_name AS package_name,
procedure_name AS method_name
FROM dba_procedures
WHERE object_type = 'PACKAGE'
Si también desea métodos privados, que la información no es accesible directamente en el diccionario de datos. En ese caso, que había necesidad de analizar la fuente (que, obviamente, sería bastante doloroso, sobre todo si va a haber anidado métodos privados dentro de los métodos públicos o privados en el paquete).
Otros consejos
la siguiente devolverá todos los nombres de los procedimientos y funciones de un paquete específico:
SELECT procedure_name FROM user_procedures WHERE object_name='mypackagename';