Partilhar via


sp_stored_procedures (Transact-SQL)

Aplica-se a: SQL ServerBanco 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;