J'ai besoin de rechercher dans toutes les procédures stockées dans une base de données Oracle à l'aide de TOAD. Je cherche partout où les développeurs ont utilisé MAX + 1 au lieu du NEXTVAL sur la séquence pour obtenir le prochain numéro d'identification.
Je fais SQL Server depuis des années et je connais plusieurs façons de le faire là-bas, mais aucune ne m'aide ici.
J'ai essayé d'utiliser
SELECT * FROM user_source
WHERE UPPER(text) LIKE '%blah%'
Les résultats sont renvoyés mais uniquement pour mon schéma par défaut et non pour le schéma dans lequel je dois rechercher.
J'ai aussi essayé ce qui suit mais ça ne fait que des erreurs
SELECT * FROM SchemaName.user_source
WHERE UPPER(text) LIKE '%blah%'
SELECT * FROM ALL_source WHERE UPPER(text) LIKE '%BLAH%'
[~ # ~] modifier [~ # ~] Ajout d'informations supplémentaires:
SELECT * FROM DBA_source WHERE UPPER(text) LIKE '%BLAH%'
La différence est que dba_source aura le texte de tous les objets stockés. All_source aura le texte de tous les objets stockés accessible par l'utilisateur effectuant la requête. Oracle Database Reference 11g version 2 (11.2)
Une autre différence est que vous n'avez peut-être pas accès à dba_source.
J'utilise toujours UPPER(text)
comme UPPER('%blah%')
Si vous utilisez UPPER(text)
, le like '%lah%'
renverra toujours zéro résultat. Utilisation '%LAH%'
.