sp_stored_procedures (Transact-SQL)

Restituisce un elenco delle stored procedure dell'ambiente corrente.

Icona di collegamento a un argomentoConvenzioni 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 recuperare informazioni sul catalogo. name è di tipo nvarchar(390) e il valore predefinito è NULL. La ricerca con caratteri jolly è supportata.

  • [ @sp_owner = ] 'schema'
    Nome dello schema a cui appartiene la procedura. schema è di tipo nvarchar(384) e il valore predefinito è NULL. La ricerca con caratteri jolly è supportata. Se owner viene omesso, vengono applicate le regole di visibilità predefinite della procedura del sistema 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. Per ulteriori informazioni sugli schemi predefiniti, vedere Separazione tra schema e utente.

    • Schema dbo nel database corrente.

  • [ @qualifier = ] 'qualifier'
    Nome del qualificatore della procedura. qualifier è di tipo sysname e il valore predefinito è NULL. La denominazione delle tabelle in tre parti, ovvero qualificatore**.schema.**nome, sono supportati da diversi prodotti DBMS. In SQL Serverqualifier rappresenta il nome del database. In altri prodotti rappresenta il nome del server dell'ambiente di database della tabella.

  • [ @fUsePattern = ] 'fUsePattern'
    Determina se il carattere di sottolineatura (_), il segno di percentuale (%) o le parentesi quadre [ ]) devono essere interpretate come caratteri jolly. fUsePattern è di tipo bit e il valore predefinito è 1.

    0 = criteri di ricerca disattivati.

    1 = criteri di ricerca attivati.

Valori restituiti

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.

REMARKS

varchar(254)

Descrizione della procedura. SQL Server non restituisce alcun valore per questa colonna.

PROCEDURE_TYPE

smallint

Tipo di procedura. SQL Server restituisce sempre 2.0. I valori validi sono i seguenti:

0 = SQL_PT_UNKNOWN

1 = SQL_PT_PROCEDURE

2 = SQL_PT_FUNCTION

Osservazioni

Per garantire la massima interoperabilità, con il client del gateway è consigliabile utilizzare solo i caratteri jolly standard SQL-92, 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 nel set di risultati di sp_server_info l'attributo del server ACCESSIBLE_SPROC corrisponde a Y, vengono restituite solo le stored procedure eseguibili dall'utente corrente.

sp_stored_procedures equivale a SQLProcedures in ODBC. I risultati restituiti vengono ordinati in base alle colonne PROCEDURE_QUALIFIER, PROCEDURE_OWNER e PROCEDURE_NAME.

Autorizzazioni

È richiesta l'autorizzazione SELECT per lo schema.

Esempi

A. Restituzione di tutte le stored procedure nel database corrente

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

USE AdventureWorks2008R2;
GO
EXECUTE 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 AdventureWorks2008R2;
GO
EXECUTE sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks2008R2', 1;