Qual consulta pode retornar os nomes de todos os procedimentos armazenados em um banco de dados do SQL Server
Se a consulta pudesse excluir procedimentos armazenados do sistema, isso seria ainda mais útil.
sql-server
tsql
p.campbell
fonte
fonte
fonte
dbo.sys*
exibição. Essa consulta também: filtra os procedimentos armazenados do CLR, não filtra os procs armazenados do sistema e retorna [type] quando se sabe que [type] sempre será 'P', pois é a condição WHERE.Pelo meu entendimento, o método "preferido" é usar as tabelas information_schema:
fonte
O seguinte retornará todos os procedimentos no banco de dados selecionado
fonte
Você pode tentar esta consulta para obter procedimentos e funções armazenados:
fonte
Se você estiver usando o SQL Server 2005, o seguinte funcionará:
fonte
Você pode usar uma das consultas abaixo para encontrar a lista de Procedimentos armazenados em um banco de dados:
Consulta1:
Consulta2:
Se você deseja encontrar a lista de todos os SPs em todos os bancos de dados, use a consulta abaixo:
fonte
Selecionar todos os procedimentos e exibições armazenados
fonte
Isso também pode ajudar a listar o procedimento, exceto os procedimentos do sistema:
fonte
sys.all_objects
pois você está filtrandois_ms_shipped=0
. Pode conter gatilhos DDL, mas esses seriam filtrados portype='p'
. Você também pode usarsys.objects
.Infelizmente
INFORMATION_SCHEMA
não contém informações sobre os procs do sistema.fonte
sys.procedures where is_ms_shipped = 0
? E por que você executaria uma funçãoobjectproperty(object_id, N'IsMSShipped')
para cada linha quando há um campois_ms_shipped
que contém esse valor? Na mesma linha, por que executar essa função novamente quando[type] IN ('P', 'PC')
faz a mesma coisa? Este método é desnecessariamente complicado e ineficiente.Apenas os nomes:
fonte
Alterei a excelente postagem de LostCajun acima para excluir os procedimentos armazenados do sistema. Também removi "Extrair". do código porque eu não conseguia descobrir para que serve e isso me deu erros. A instrução "buscar próximo" dentro do loop também precisava de uma cláusula "into".
fonte
a melhor maneira de obter objetos é usar sys.sql_modules. você pode encontrar tudo o que deseja dessa tabela e associá-la a outra tabela para obter mais informações por object_id
fonte
fonte
dbo.sys*
exibição. Essa consulta também filtra os procedimentos armazenados do CLR.Eu escrevi este tsql simples para listar o texto de todos os procedimentos armazenados. Certifique-se de substituir o nome do banco de dados no campo
fonte
Isso fornecerá apenas os nomes dos procedimentos armazenados.
fonte
Isso mostrará todos os procedimentos armazenados e o código:
fonte
Isto, liste todas as coisas que você deseja
No Sql Server 2005, 2008, 2012:
OU
fonte
sp_tables
,. Além disso, "PROCEDURE" não é uma opção válida parasp_tables
. As únicas opções para@table_type
são: 'SYSTEM TABLE', 'TABLE' e 'VIEW'.Isso retornará todos os nomes sp
fonte
[type]
deve ser[type] IN ('P', 'PC')
outra coisa: você está filtrando todos os procs armazenados do CLR que estão potencialmente lá.Experimente este link codeplex, este utilitário ajuda a localizar todos os procedimentos armazenados do banco de dados sql.
https://exportmssqlproc.codeplex.com/
fonte
fonte
Isso funcionará no mssql.
fonte
Selecione a lista de procedimentos armazenados no servidor SQL. Consulte aqui: https://coderrooms.blogspot.com/2017/06/select-list-of-stored-procedure-in-sql.html
fonte
PaymentDetails
tabela. O OP deseja uma lista dos procedimentos armazenados reais.