Oracle
 sql >> Database >  >> RDS >> Oracle

Dipendenze del database Oracle in PL/SQL

Non è possibile trovare le dipendenze tra procedure (in un pacchetto) e tabelle.

Esistono diversi strumenti per esaminare le dipendenze. Come hai già scoperto, *_DEPENDENCIES tiene traccia delle dipendenze degli oggetti solo a livello di pacchetto. C'è uno strumento accurato PL/Scope che tiene traccia delle dipendenze tra le parti di un pacchetto. Ma non tiene traccia di tutti i riferimenti alle tabelle.

Teoricamente potresti usare *_SOURCE . In pratica, ciò è impossibile a meno che il codice non utilizzi un insieme limitato di funzionalità. Per qualsiasi codice moderatamente complicato, dimentica di usare le funzioni stringa o espressioni regolari per analizzare il codice . Sfortunatamente non sembra esserci alcun parser PL/SQL che sia sia programmabile che in grado di analizzare con precisione codice complesso.

Dire "non è possibile" non è un'ottima risposta. Ma in questo caso potrebbe farti risparmiare un sacco di tempo. Questo è uno di quei compiti in cui è molto facile andare in un vicolo cieco e sprecare un sacco di sforzi.