Puedo usar all_arguments y all_procedures para enumerar los procedimientos y funciones dentro de cualquier paquete dado y con DBMS_METADATA puedo extraer el DDL para ese paquete. ¿Existe alguna manera sencilla (aparte de muchas llamadas entrantes y subscritas) de obtener el código fuente del procedimiento o función por separado para cada bloque de código separado en un paquete?Código fuente para el procedimiento almacenado específico o función
Algo como esto:
Propietario | Nombre del paquete | Nombre del objeto | Sobrecarga | Argumentos | Fuente
Obviamente, el uso de subcadena e instring presentará problemas con las funciones sobrecargadas.
All_arguments tiene el campo subprogram_id que, de acuerdo con la escasa documentación en él, parece que hace referencia única a qué procedimiento se relaciona en el paquete pero no parece haber nada que lo use.
Saludos de antelación
¿Cuál es su propósito al extraer definiciones de funciones? –
Quise decir definición de una manera DDL - cambié a código fuente para intentar y ser más claro que estoy tratando de enumerar el código para un procedimiento o función específica – Chris
"Listar el código" como para imprimir la función por sí mismo a la impresora o aislar en un archivo? –