È possibile utilizzare all_arguments e all_procedures per elencare le procedure e le funzioni all'interno di un determinato pacchetto e con DBMS_METADATA posso estrarre il DDL per quel pacchetto. Esiste un modo semplice (diverso da molte chiamate di istruzioni e sottostringhe) per ottenere la procedura o il codice sorgente della funzione separatamente per ciascun blocco di codice separato in un pacchetto.Codice sorgente per stored procedure o funzione specifica
Qualcosa del genere:
Proprietario | Nome del pacchetto | Nome oggetto | Sovraccarico | Argomenti | Sorgente
Ovviamente l'uso della sottostringa e dell'istruzione presenterà problemi con funzioni sovraccariche.
All_arguments ha il campo subprogram_id che, secondo la documentazione molto sparsa su di esso, sembra fare riferimento in modo univoco alla procedura a cui è correlato nel pacchetto ma non sembra essere nulla che lo utilizza.
Acclamazioni di anticipo
Qual è il tuo scopo nell'estrazione delle definizioni di funzione? –
Intendevo la definizione in un modo simile a DDL - modificato al codice sorgente per cercare di essere più chiaro che sto cercando di elencare il codice per una specifica procedura o funzione – Chris
"Elenco del codice" come in stampa la funzione da sola alla stampante o isolare in un file? –