Consulta para ver o conteúdo de procedures

Olá pessoal…

Hoje vou mostrar um script SQL que traz o conteúdo de todas as procedures do banco.

SQL Server

SQL Server

Primeiramente, é necessário deixar a saída da consulta em modo texto.

E depois realizar uma consulta na sysobjects onde o xtype seja ‘P’ e category seja 0. Ai você possui a listagem de todas as procedures.

Por último, é necessário executar o sp_helptext para cada procedure.

Tudo isso está no script abaixo:

--Declarando variaveis
Declare @Procedures table (Procedur varchar(max))
Declare @cNomProc as varchar(max)
Declare @cString as nvarchar(max)

--Inserindo procedures na tabela temporaria
Insert Into @Procedures (Procedur)
Select name From sysobjects
Where xtype = 'P' and category = 0
Order By name

--Percorrendo as procedures
Declare csProc Cursor For Select Procedur From @Procedures Order By Procedur
Open csProc
Fetch Next From csProc Into @cNomProc
While @@Fetch_Status = 0 Begin
	--Pegando o conteudo da procedure
	Set @cString = 'sp_helptext ' + @cNomProc
	Print('Selecionando conteúdo da Procedure ' + @cNomProc + '...')
	Exec sp_executesql @cString
	Print('===============================================================================================================================================================================================')
	Print('')

Fetch Next From csProc Into @cNomProc
End
Close csProc
Deallocate csProc

Referências:
stackoverflow.com

Bom pessoal, por hoje é só.
Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

2 Responses

  1. Boa dica, Daniboy!
    Obrigado por compartilhar, como sempre!

Deixe uma resposta

Terminal de Informação