Je voudrais rechercher à travers tous mes packages de procédures et fonctions pour une certaine phrase.
Puisqu'il est possible de récupérer le code des procédures compilées à l'aide de crapaud, je suppose que le texte intégral est stocké dans une table de dictionnaire de données. Est-ce que quelqu'un sait où ce serait?
Merci beaucoup
Vous pouvez faire quelque chose comme
SELECT name, line, text
FROM dba_source
WHERE upper(text) like upper('%<<your_phrase>>%') escape '\'
La routine de "recherche d'objet" de Toad examinera ALL_SOURCE (et d'autres parties du dictionnaire de données). Bien sûr, cela sera limité aux objets que l'utilisateur connecté est autorisé à voir. Si vous avez accès à la version DBA, tant mieux. Sinon, vous ne chercherez pas tout.
De plus, si vous revenez à Oracle 7 ou que votre base de données a été migrée d'Oracle 7 vers 8i ou 9i (pas sûr de 10 ou 11), la source du déclencheur peut ne pas apparaître dans les vues user_source ou all_source. Mieux vaut vérifier. Le moyen le plus simple que j'ai trouvé pour le faire apparaître est de faire une modification réelle - ajouter un espace, par exemple - et recompiler le déclencheur.
Voulez-vous dire en utilisant PL/SQL? Ou tout simplement en utilisant TOAD? Je sais que vous pouvez utiliser la fonction "Rechercher des objets" (ou quelque chose comme ça) pour rechercher manuellement à travers tous les objets comme les procs, les tables, etc ...