web-dev-qa-db-fra.com

Recherche de texte dans les procédures stockées Oracle

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%'
26
PseudoToad
 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.

65
Shannon Severance

J'utilise toujours UPPER(text) comme UPPER('%blah%')

3
Guest1

Si vous utilisez UPPER(text), le like '%lah%' renverra toujours zéro résultat. Utilisation '%LAH%'.

2
ANM KABIR