sp_stored_procedures (Transact-SQL)
Retorna uma lista de procedimentos armazenados do ambiente atual.
Convenções da 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 de 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 de 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.
Esquema dbo no banco de dados atual.
[ @qualifier = ] 'qualifier'
É o nome do qualificador do procedimento. qualifier é sysname, com um padrão de NULL. Vários produtos DBMS dão suporte à nomenclatura de três partes de tabelas no formato (qualifier**.schema.**name). 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 de 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 essa coluna. |
PROCEDURE_TYPE |
smallint |
Tipo do procedimento. 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 AdventureWorks.
USE AdventureWorks2012;
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 AdventureWorks2012;
GO
EXECUTE sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks2012', 1;