Segue o código de uma sp para pesquisar caracteres no texto de todas sp´s do banco de dados:
ALTER PROC PESQUISA_TEXTO_PROC
@TEXTO_PROCURADO VARCHAR(50)
AS
DECLARE @NOME_PROC AS VARCHAR(100), @TEXTO_PROC AS VARCHAR(8000)
DECLARE MYCURSOR CURSOR FOR
--
--Seleciona todas as stored procedures do banco de dados
--efetua JOIN com SYSCOMMENTS para recuperar texto sp
SELECT OBJ.NAME, TEXT
FROM SYSOBJECTS OBJ
INNER JOIN SYSCOMMENTS COM
ON OBJ.ID = COM.ID
WHERE TYPE = 'P'
OPEN MYCURSOR
FETCH NEXT FROM MYCURSOR
INTO @NOME_PROC,@TEXTO_PROC
WHILE @@F ETCH_STATUS = 0
BEGIN
--
--Verifica se parâmetro @TEXTO_PROCURADO existe no texto da sp
IF CHARINDEX(@TEXTO_PROCURADO,@TEXTO_PROC) > 0
BEGIN
PRINT @NOME_PROC
END
FETCH NEXT FROM MYCURSOR
INTO @NOME_PROC,@TEXTO_PROC
END
CLOSE MYCURSOR
DEALLOCATE MYCURSOR
GO
Considerações:
Neste exemplo varremos o banco de dados filtrando as stored procedures e pesquisamos no conteúdo do texto das mesma uma sequência de caracteres passada como parâmetro.
Para obtermos o conteúdo do texto da strore procedure efetuamos um JOIN entre as tabelas de sistema: SYSOBJECTS (onde localiza-se o nome e id dos objetos) e SYSCOMMENTS (onde localiza-se o conteúdo do texto da sp). Depois pesquisamos o texto passado como parâmetro no compo de nome TEXT tabela SYSCOMMENTS.
Talvez o exemplo não tenha muitas aplicações práticas mas pode ser adaptado e melhorado de acordo com a necessidade de cada um
Fonte/Autor/link
AUTOR: "Jothaz"
Dúvidas, criticas, contribuições, correções e adições serão bem vindas.
Pergunta
jothaz
Camaradas,
Segue o código de uma sp para pesquisar caracteres no texto de todas sp´s do banco de dados:
Considerações:
- Neste exemplo varremos o banco de dados filtrando as stored procedures e pesquisamos no conteúdo do texto das mesma uma sequência de caracteres passada como parâmetro.
- Para obtermos o conteúdo do texto da strore procedure efetuamos um JOIN entre as tabelas de sistema: SYSOBJECTS (onde localiza-se o nome e id dos objetos) e SYSCOMMENTS (onde localiza-se o conteúdo do texto da sp). Depois pesquisamos o texto passado como parâmetro no compo de nome TEXT tabela SYSCOMMENTS.
- Talvez o exemplo não tenha muitas aplicações práticas mas pode ser adaptado e melhorado de acordo com a necessidade de cada um
Fonte/Autor/linkAUTOR: "Jothaz"
Dúvidas, criticas, contribuições, correções e adições serão bem vindas.
Editado por jothazLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.