[SCRIPT] – Encontrar uma string específica em todas as Stored Procedures de um DB

Às vezes nos encontramos em situações em que devemos identificar todas as stored procedures ou Function que tem nos seus respectivos códigos uma determinada string, como o nome de uma tabela, algum comando em específico, valor etc…

Por exemplo: esta semana me deparei em uma situação em que não sabíamos qual era a Stored Procedure responsável por popular uma determinada tabela. Naquele momento decidi usar esse script, colocando apenas o nome da tabela desejada na clausula Where.

Se vocês estiverem em uma situação do tipo, este script poderá ser muito útil. Basta somente substituir os valores indicados e se quiserem ainda refinar e aprimorar a query, basta somente modificar a WHERE de acordo com as suas necessidades, tendo em mente apenas que se deve colocar a string sempre entre dois %.

USE [DATABASE_NAME]
GO

SELECT schema_name(o.schema_id) as [Schema], o.Name as [Name]
FROM sys.sql_modules sm
INNER JOIN sys.objects o
ON o.object_id = sm.object_id
WHERE sm.definition like  '%[INSERT_HERE_YOUR_STRING]%'
GO

 

Sobre mim

Bruno Bragatto graduou-se em Automação Industrial pelo IFSP, pós-graduado em Banco de Dados Oracle pela FIAP e é Oracle Database 11g Administrator Certified Associate e Microsoft MCSA – SQL 2016 Database Administration.


OCA - Oracle 11g Database Administrator