Saltar al contenido

Buscar texto en procedimiento almacenado en Oracle y SQL

Valora la información: 1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (Ninguna valoración todavía)
Buscar texto en procedimiento almacenado en Oracle y SQL 1Cargando…

Si un proyecto es muy grande tener forma de realizar búsquedas de datos y objetos es muy útil para optimizar tiempos en el desarrollo en este caso vamos a mostrar como buscar texto en procedimientos almacenados en SQL y Oracle.

Mas cuando comenzamos a dar continuidad a un proyecto ya iniciado por otro desarrollador, es fundamental conocer como se encuentra estructurado, así como conocer las tablas, datos que este tiene y los procedimientos almacenados.

A continuación vamos a mostrar cual es el query que debemos ejecutar y como utilizarlo; también mostraremos un ejemplo donde nos arroje los resultados que deseamos.

Query para buscar texto en procedimiento almacenado en SQL

El siguiente es el Query que se utilizara para realizar la búsqueda, solo es necesario localizarnos en la base de datos del cual analizaremos el contenido.

Primeramente debemos asegurarnos encontrarnos en la base de datos que contiene los procedimientos en los que deseamos buscar; para seleccionar la base de datos en SQL por medio de query utilizamos:

USE NOMBRE_DE_BASE_DE_DATOS;  
GO

Ahora solo falta ejecutar el la siguiente instrucción donde debemos remplazar BUSQUEDA por la palabra deseada, recuerda que los % (porcentajes son wildcards o comodines).

SELECT SUBSTRING(text,0,40) FROM syscomments WHERE text LIKE '%BUSQUEDA%'

Ejemplo de búsqueda de texto en procedimientos almacenados.

Veamos el query en funcionamiento, en este ejemplo se realizara una búsqueda para encontrar el texto MAX;

Donde vemos que al ejecutar el query nos da como resultado todos los procedimientos almacenados que contienen en su interior MAX, en este caso yo solo tengo tres procedimientos almacenados el cual contienen esta.

Buscar texto en procedimiento almacenado en Oracle y SQL
Resultados de buscar texto en procedimiento almacenado en SQL

Query alternativo para realizar búsqueda de datos en procedimientos almacenados

En caso que tengas dudas con al query anterior te dejo otra alternativa que posiblemente deje de funcionar en las nuevas versiones de SQL; En este se declara una variable SEARCH en la segunda linea donde tienes que cambiar BUSCAR por la palabra que quieres localizar.

declare @search varchar(50)
SET @search = 'BUSCAR'

SELECT ROUTINE_NAME,ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LIKE '%' + @search + '%' ORDER BY ROUTINE_NAME

Query para buscar texto en procedimiento almacenado en Oracle

Ahora bien, si utilizas Oracle, este tambien tiene la forma de buscar una palabra dentro de los procedimientos almacenados.

select * from SYS.ALL_SOURCE where upper(TEXT) like '%BUSCAR%';

 

También puedes revisar SQL – Buscar tabla o columna en una base de datos de SQL Server si deseas buscar cualquier otro dato en la base de datos.