sp_stored_procedures (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure
Retorna uma lista de procedimentos armazenados do ambiente atual.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_stored_procedures
[ [ @sp_name = ] N'sp_name' ]
[ , [ @sp_owner = ] N'sp_owner' ]
[ , [ @sp_qualifier = ] N'sp_qualifier' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
Argumentos
@sp_name [ = ] N'sp_name'
O nome do procedimento usado para retornar informações do catálogo. @sp_name é nvarchar(390), com um padrão de NULL
. Há suporte para a correspondência do padrão curinga.
@sp_owner [ = ] N'sp_owner'
O nome do esquema ao qual o procedimento pertence. @sp_owner é nvarchar(384), com um padrão de NULL
. Há suporte para a correspondência do padrão curinga. Se @sp_owner não for especificado, as regras de visibilidade do procedimento padrão do DBMS (sistema de gerenciamento de banco de dados) subjacente serão aplicadas.
No SQL Server, se o esquema atual contiver um procedimento com o nome especificado, esse procedimento será retornado. Se um procedimento armazenado não qualificado for especificado, o Mecanismo de Banco de Dados pesquisará o procedimento na seguinte ordem:
O esquema
sys
do banco de dados atual.O esquema padrão do chamador se executado em um lote ou em um SQL dinâmico; ou, se o nome do procedimento não qualificado aparecer no corpo da definição de outro procedimento, o esquema que contém esse outro procedimento é o próximo a ser pesquisado.
O esquema
dbo
no banco de dados atual.
@sp_qualifier [ = ] N'sp_qualifier'
O nome do qualificador de procedimento. @sp_qualifier é sysname, com um padrão de NULL
. Vários produtos DBMS oferecem suporte à nomenclatura de três partes para tabelas no formato <qualifier>.<schema>.<name>
. No SQL Server, @sp_qualifier representa o nome do banco de dados. Em alguns produtos, representa o nome do servidor do ambiente de banco de dados da tabela.
@fUsePattern [ = ] fUsePattern
Determina se o sublinhado (_
), a porcentagem (%
) ou os colchetes ([
e ]
) são interpretados como caracteres curinga. @fUsePattern é bit, com um padrão de 1
.
0
= A correspondência de padrões está desativada.1
= A correspondência de padrões está ativada.
Valores do código de retorno
Nenhum.
Conjunto de resultados
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
PROCEDURE_QUALIFIER |
sysname | Nome do qualificador de procedimento. Essa coluna pode ser NULL . |
PROCEDURE_OWNER |
sysname | Nome do proprietário do procedimento. Esta coluna sempre retorna um valor. |
PROCEDURE_NAME |
nvarchar(134) | Nome do procedimento. Esta coluna sempre retorna um valor. |
NUM_INPUT_PARAMS |
int | Reservado para uso futuro. |
NUM_OUTPUT_PARAMS |
int | Reservado para uso futuro. |
NUM_RESULT_SETS |
int | Reservado para uso futuro. |
REMARKS |
varchar(254) | Descrição do procedimento. O SQL Server não retorna um valor para essa coluna. |
PROCEDURE_TYPE |
smallint | Tipo do procedimento. O SQL Server sempre retorna 2.0. Esse valor pode ser uma das seguintes opções: 0 = SQL_PT_UNKNOWN 1 = SQL_PT_PROCEDURE 2 = SQL_PT_FUNCTION |
Comentários
Para máxima interoperabilidade, o cliente de gateway deve assumir apenas a correspondência de padrões padrão SQL, ou seja, os caracteres curinga percent (%
) e sublinhado (_
).
As informações de permissão sobre o acesso de execução a um procedimento armazenado específico para o usuário atual não são necessariamente verificadas; portanto, o acesso não é garantido. Apenas a nomenclatura de três partes é usada. Isso significa que somente os procedimentos armazenados locais, não os procedimentos armazenados remotos (que exigem nomenclatura de quatro partes), são retornados quando são executados no SQL Server. Se o atributo ACCESSIBLE_SPROC
do servidor for Y no conjunto de resultados para sp_server_info
, somente os procedimentos armazenados que podem ser executados pelo usuário atual serão retornados.
sp_stored_procedures
é equivalente a SQLProcedures
em ODBC. Os resultados retornados são ordenados por PROCEDURE_QUALIFIER
, PROCEDURE_OWNER
, e PROCEDURE_NAME
.
Permissões
Requer a permissão SELECT
no esquema.
Exemplos
R. Retornar todos os procedimentos armazenados no banco de dados atual
O exemplo a seguir retorna todos os procedimentos armazenados no banco de dados AdventureWorks2022.
USE AdventureWorks2022;
GO
EXEC sp_stored_procedures;
B. Retornar um único procedimento armazenado
O exemplo a seguir retorna um conjunto de resultados do procedimento armazenado uspLogError
.
USE AdventureWorks2022;
GO
sp_stored_procedures N'uspLogError',
N'dbo',
N'AdventureWorks2022',
1;