Compartilhar via


sp_stored_procedures (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureBanco de dados SQL no Microsoft Fabric

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 AdventureWorks2025.

USE AdventureWorks2022;
GO

EXECUTE 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

EXECUTE sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks2022', 1;