2011-02-17 15 views
18

Necesito buscar a través de todos los procedimientos almacenados en una base de datos Oracle usando TOAD. Estoy buscando donde los desarrolladores usaron MAX + 1 en lugar de NEXTVAL en la secuencia para obtener el siguiente número de identificación.Búsqueda de texto dentro de los procedimientos almacenados de Oracle

He estado haciendo SQL Server durante años y sé varias formas de hacerlo allí, pero ninguno me está ayudando aquí.

He intentado usar

SELECT * FROM user_source 
WHERE UPPER(text) LIKE '%blah%' 

Los resultados se devuelven pero sólo para mi esquema predeterminado y no para el esquema que tengo que estar buscando en.

También probé el siguiente, pero sólo errores

SELECT * FROM SchemaName.user_source 
WHERE UPPER(text) LIKE '%blah%' 

Respuesta

47
SELECT * FROM ALL_source WHERE UPPER(text) LIKE '%BLAH%' 

EDITAR Adición additi información onal:

SELECT * FROM DBA_source WHERE UPPER(text) LIKE '%BLAH%' 

La diferencia es dba_source tendrá el texto de todos los objetos almacenados. All_source tendrá el texto de todos los objetos almacenados a disposición del usuario que realiza la consulta. Oracle Database Reference 11g Release 2 (11.2)

Otra diferencia es que puede que no tenga acceso a dba_source.

+0

You rock! Muchas gracias Shannon! – PseudoToad

+1

Si desea limitar la búsqueda a un esquema específico, puede agregar AND OWNER = 'SCHEMA OWNER NAME'. –

2

Si usa UPPER(text), like '%lah%' siempre devolverá cero resultados. Use '%LAH%'.

3

Allways utilizo UPPER(text) como UPPER('%blah%')

+0

Para criticar otra respuesta, por favor use un comentario. (Requiere 50 reputación que puede ganar publicando respuestas y preguntas útiles). –

Cuestiones relacionadas