sp_stored_procedures (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstâ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 de procedimento padrão do sistema de gerenciamento de banco de dados (DBMS) 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 procurará 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 à nomeação 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ão 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. Esta 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 esta coluna.
PROCEDURE_TYPE smallint Tipo do procedimento. 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ão SQL, ou seja, os caracteres curinga de porcentagem (%) 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 apenas os procedimentos armazenados locais, não os procedimentos armazenados remotos (que exigem nomeação 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_OWNERe 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;