sp_stored_procedures (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate) Sìdatabase SQL di Azure

Restituisce un elenco delle stored procedure dell'ambiente corrente.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

[ @sp_name = ] 'name' Nome della procedura utilizzata per restituire le informazioni del catalogo. name è nvarchar(390), con il valore predefinito NULL. La ricerca con caratteri jolly è supportata.

[ @sp_owner = ] 'schema' Nome dello schema a cui appartiene la procedura. schema è nvarchar(384), con valore predefinito NULL. La ricerca con caratteri jolly è supportata. Se owner non viene specificato, vengono applicate le regole di visibilità della procedura predefinita del DBMS sottostante.

In SQL Server, se lo schema corrente contiene una procedura con il nome specificato, viene restituita tale procedura. Se è specificata una stored procedure non qualificata, Motore di database cerca la procedura nell'ordine seguente:

  • Schema sys del database corrente.

  • Schema predefinito del chiamante, se eseguito in batch o in un'istruzione SQL dinamica. In alternativa, se il nome della procedura non qualificata si trova nel corpo di un'altra definizione di procedura, la ricerca viene quindi eseguita all'interno dello schema contenente quest'ultima procedura.

  • Schema dbo nel database corrente.

[ @qualifier = ] 'qualifier' Nome del qualificatore di routine. qualifier è sysname, con il valore predefinito NULL. Vari prodotti DBMS supportano la denominazione in tre parti per le tabelle nel formato (qualificatore. schema. nome. In SQL Server il qualificatore rappresenta il nome del database. In alcuni prodotti rappresenta il nome del server dell'ambiente di database della tabella.

[ @fUsePattern = ] 'fUsePattern' Determina se il carattere di sottolineatura (_), la percentuale (%) o le parentesi quadre [ ]) vengono interpretati come caratteri jolly. fUsePattern è bit, con un valore predefinito di 1.

0 = La corrispondenza dei criteri è disattivata.

1 = La corrispondenza dei criteri è impostata su on.

Valori del codice restituito

Nessuno

Set di risultati

Nome colonna Tipo di dati Descrizione
PROCEDURE_QUALIFIER sysname Nome di qualificatore della procedura. Questa colonna può essere NULL.
PROCEDURE_OWNER sysname Nome del proprietario della procedura. In questa colonna viene sempre restituito un valore.
PROCEDURE_NAME nvarchar(134) Nome della procedura. In questa colonna viene sempre restituito un valore.
NUM_INPUT_PARAMS int Riservato per utilizzi futuri.
NUM_OUTPUT_PARAMS int Riservato per utilizzi futuri.
NUM_RESULT_SETS int Riservato per utilizzi futuri.
COMMENTI varchar(254) Descrizione della procedura. In SQL Server non viene restituito alcun valore per questa colonna.
PROCEDURE_TYPE smallint Tipo di procedura. Tramite SQL Server viene restituito sempre 2.0. I valori validi sono i seguenti:

0 = SQL_PT_UNKNOWN

1 = SQL_PT_PROCEDURE

2 = SQL_PT_FUNCTION

Commenti

Per garantire la massima interoperabilità, con il client del gateway è consigliabile utilizzare solo i caratteri jolly standard SQL, ovvero il segno di percentuale (%) e il carattere di sottolineatura (_).

Le informazioni sulle autorizzazioni per l'accesso in esecuzione a una stored procedure specifica non vengono necessariamente verificate. Pertanto, l'accesso non è garantito. Si noti che viene utilizzata solo la denominazione in tre parti. Pertanto, con l'esecuzione in SQL Server vengono restituite solo le stored procedure locali e non quelle remote, che richiedono una denominazione in quattro parti. Se l'attributo server ACCESSIBLE_SPROC è Y nel set di risultati per sp_server_info , vengono restituite solo le stored procedure che possono essere eseguite dall'utente corrente.

sp_stored_procedures è equivalente a SQLProcedures in ODBC. I risultati restituiti vengono ordinati PROCEDURE_QUALIFIER , PROCEDURE_OWNER e PROCEDURE_NAME.

Autorizzazioni

È richiesta l'autorizzazione SELECT per lo schema.

Esempi

R. Restituzione di tutte le stored procedure nel database corrente

Nell'esempio seguente vengono restituite tutte le stored procedure nel database AdventureWorks2012.

USE AdventureWorks2012;  
GO  
EXEC sp_stored_procedures;  

B. Restituzione di una singola stored procedure

Nell'esempio seguente viene restituito un set di risultati per la stored procedure uspLogError.

USE AdventureWorks2012;  
GO  
sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks2012', 1;  

Vedere anche

Catalog stored procedure (Transact-SQL)
Stored procedure di sistema (Transact-SQL)