Partilhar via


sp_stored_procedures (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Devolve uma lista de procedimentos armazenados no ambiente atual.

Transact-SQL convenções de sintaxe

Sintaxe

sp_stored_procedures
    [ [ @sp_name = ] N'sp_name' ]
    [ , [ @sp_owner = ] N'sp_owner' ]
    [ , [ @sp_qualifier = ] N'sp_qualifier' ]
    [ , [ @fUsePattern = ] fUsePattern ]
[ ; ]

Arguments

[ @sp_name = ] N'sp_name'

O nome do procedimento utilizado para devolver a informação do catálogo. @sp_name é nvarchar(390), com um padrão de NULL. É suportada a correspondência de padrões wildcard.

[ @sp_owner = ] N'sp_owner'

O nome do esquema ao qual o procedimento pertence. @sp_owner é nvarchar(384), com um padrão de NULL. É suportada a correspondência de padrões wildcard. Se @sp_owner não for especificado, aplicam-se as regras padrão de visibilidade de procedimentos do sistema de gestão de bases de dados (SGBD) subjacente.

No SQL Server, se o esquema atual contiver um procedimento com o nome especificado, esse procedimento é devolvido. Se for especificado um procedimento armazenado não qualificado, o Motor de Base de Dados pesquisa o procedimento pela seguinte ordem:

  • O esquema sys do banco de dados atual.

  • O esquema padrão do chamador se executado em lote ou em SQL dinâmico; ou, se o nome do procedimento não qualificado aparecer no corpo de outra definição de procedimento, o esquema que contém esse outro procedimento é pesquisado a seguir.

  • O esquema dbo no banco de dados atual.

[ @sp_qualifier = ] N'sp_qualifier'

O nome do qualificador do procedimento. @sp_qualifier é sysname, com um padrão de NULL. Vários produtos de SGBD suportam a nomenclatura em três partes para tabelas na forma <qualifier>.<schema>.<name>. No SQL Server, @sp_qualifier representa o nome da base de dados. Em alguns produtos, representa o nome do servidor do ambiente de base de dados da tabela.

[ @fUsePattern = ] fUsePattern

Determina se o sublinhado (_), a percentagem (%) ou os parênteses ([ e ]) são interpretados como caracteres coringa. @fUsePattern é bit, com um padrão de 1.

  • 0 = A correspondência de padrões está errada.
  • 1 = A correspondência de padrões está ativada.

Valores de código de retorno

Nenhum.

Conjunto de resultados

Nome da coluna Tipo de dados Description
PROCEDURE_QUALIFIER sysname Nome do qualificador do procedimento. Esta coluna pode ser NULL.
PROCEDURE_OWNER sysname Nome do proprietário do procedimento. Esta coluna devolve sempre um valor.
PROCEDURE_NAME nvarchar (134) Nome do procedimento. Esta coluna devolve sempre 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 devolve um valor para esta coluna.
PROCEDURE_TYPE smallint Tipo de procedimento. O SQL Server devolve sempre a versão 2.0. Este valor pode ser uma das seguintes opções:

0 = SQL_PT_UNKNOWN
1 = SQL_PT_PROCEDURE
2 = SQL_PT_FUNCTION

Observações

Para máxima interoperabilidade, o cliente gateway deve assumir apenas a correspondência padrão de padrões SQL, nomeadamente os caracteres coringa percentagem (%) e sublinhado (_).

A informação de permissão sobre o acesso de execução a um procedimento armazenado específico para o utilizador atual não é necessariamente verificada; Portanto, o acesso não é garantido. Apenas é usada a nomenclatura em três partes. Isto significa que apenas os procedimentos armazenados locais, e não os procedimentos armazenados remotos (que exigem nomeação em quatro partes), são devolvidos quando são executados no SQL Server. Se o atributo ACCESSIBLE_SPROC do servidor for Y no conjunto de resultados para sp_server_info, apenas os procedimentos armazenados que podem ser executados pelo utilizador atual são retornados.

sp_stored_procedures é equivalente a SQLProcedures em ODBC. Os resultados devolvidos estão ordenados por PROCEDURE_QUALIFIER, PROCEDURE_OWNER, e PROCEDURE_NAME.

Permissions

Requer SELECT permissão no esquema.

Examples

A. Devolver todos os procedimentos armazenados na base de dados atual

O exemplo seguinte devolve todos os procedimentos armazenados na base de dados AdventureWorks2025.

USE AdventureWorks2022;
GO

EXECUTE sp_stored_procedures;

B. Devolver um único procedimento armazenado

O exemplo seguinte devolve um conjunto de resultados para o uspLogError procedimento armazenado.

USE AdventureWorks2022;
GO

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