Partilhar via


sp_stored_procedures (Transact-SQL)

Retorna uma lista de procedimentos armazenados do ambiente atual.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

sp_stored_procedures [ [ @sp_name = ] 'name' ] 
    [ , [ @sp_owner = ] 'schema'] 
    [ , [ @sp_qualifier = ] 'qualifier' ]
    [ , [@fUsePattern = ] 'fUsePattern' ]

Argumentos

  • [ @sp_name = ] 'name'
    É o nome do procedimento usado para retornar as informações do catálogo. name é nvarchar(390), com um padrão NULL. Há suporte para a correspondência do padrão curinga.

  • [ @sp_owner = ] 'schema'
    É o nome do esquema ao qual o procedimento pertence. schema é nvarchar(384), com um padrão NULL. Há suporte para a correspondência do padrão curinga. Se owner não for especificado, serão aplicadas as regras de visibilidade de procedimento padrão do DBMS subjacente.

    No SQL Server, se o esquema atual contiver um procedimento com o nome especificado, será retornado esse procedimento. Se um procedimento armazenado não qualificado for especificado, o Mecanismo de Banco de Dados procurará o procedimento na ordem seguinte:

    • 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. Para obter mais informações sobre esquemas padrão, consulte Separação do esquema de usuário.

    • Esquema dbo no banco de dados atual.

  • [ @qualifier = ] 'qualifier'
    É o nome do qualificador do procedimento. qualifier é sysname, com um padrão NULL. Vários produtos de DBMS oferecem suporte a nome de três partes de tabelas do formulário (qualificador**.esquema.**nome). No SQL Server, 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 os caracteres sublinhado (_), porcentagem (%) ou colchetes ([ ]) são interpretados como curingas. fUsePattern é bit, com um padrão 1.

    0 = correspondência de padrões desativada.

    1 = correspondência de padrões ativada.

Valores de código de retorno

Nenhum

Conjuntos 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 de procedimento. O SQL Server sempre retorna 2.0. Pode ser um dos seguintes valores:

0 = SQL_PT_UNKNOWN

1 = SQL_PT_PROCEDURE

2 = SQL_PT_FUNCTION

Comentários

Para obter a melhor interoperabilidade possível, o cliente de gateway deve pressupor apenas a correspondência de padrões SQL-92 padrão (os caracteres curinga porcentagem % e sublinhado_).

As informações de permissão relacionadas ao acesso para execução a um determinado procedimento para o usuário atual não são necessariamente confirmadas; portanto, o acesso não é autorizado. Observe que somente o nome de três partes é utilizado. Em outras palavras, somente os procedimentos armazenados locais, e não os procedimentos armazenados remotos (que requerem nome de quatro partes), são retornados quando executados no SQL Server. Se o atributo do servidor ACCESSIBLE_SPROC for Y no conjunto de resultados de sp_server_info, somente os procedimentos armazenados que podem ser executados pelo usuário atual sã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

A. Retornando todos os procedimentos armazenados no banco de dados atual

O exemplo a seguir retorna todos os procedimentos armazenados no banco de dados AdventureWorks2008R2.

USE AdventureWorks2008R2;
GO
EXECUTE sp_stored_procedures;

B. Retornando um único procedimento armazenado

O exemplo a seguir retorna um conjunto de resultados do procedimento armazenado uspLogError.

USE AdventureWorks2008R2;
GO
EXECUTE sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks2008R2', 1;