Condividi tramite


sp_stored_procedures (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

Restituisce un elenco delle stored procedure dell'ambiente corrente.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

[ @sp_name = ] N'sp_name'

Nome della procedura utilizzata per restituire informazioni sul catalogo. @sp_name è nvarchar(390), con il valore predefinito NULL. La ricerca con caratteri jolly è supportata.

[ @sp_owner = ] N'sp_owner'

Nome dello schema a cui appartiene la procedura. @sp_owner è nvarchar(384), con il valore predefinito NULL. La ricerca con caratteri jolly è supportata. Se non viene specificato @sp_owner , si applicano le regole di visibilità delle procedure predefinite del sistema di gestione del database sottostante.

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

  • Lo 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.

[ @sp_qualifier = ] N'sp_qualifier'

Nome del qualificatore di routine. @sp_qualifier è sysname, con un valore predefinito .NULL Vari prodotti DBMS supportano la denominazione in tre parti per le tabelle nel formato <qualifier>.<schema>.<name>. In SQL Server @sp_qualifier 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 ([ e ]) vengono interpretate come caratteri jolly. @fUsePattern è bit, con un valore predefinito .1

  • 0 = La corrispondenza dei criteri è disattivata.
  • 1 = La corrispondenza dei criteri è attivata.

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. Questa colonna restituisce sempre un valore .
PROCEDURE_NAME nvarchar(134) Nome della procedura. Questa colonna restituisce sempre un valore .
NUM_INPUT_PARAMS int Riservato a un uso futuro.
NUM_OUTPUT_PARAMS int Riservato a un uso futuro.
NUM_RESULT_SETS int Riservato a un uso futuro.
REMARKS varchar(254) Descrizione della procedura. SQL Server non restituisce un valore per questa colonna.
PROCEDURE_TYPE smallint Tipo di procedura. SQL Server restituisce sempre la versione 2.0. Questo valore può essere una delle opzioni seguenti:

0 = SQL_PT_UNKNOWN
1 = SQL_PT_PROCEDURE
2 = SQL_PT_FUNCTION

Osservazioni:

Per l'interoperabilità massima, il client del gateway deve presupporre solo i criteri di ricerca standard SQL, ovvero la percentuale (%) e i caratteri jolly di sottolineatura (_).

Le informazioni sulle autorizzazioni relative all'esecuzione dell'accesso a una stored procedure specifica per l'utente corrente non vengono necessariamente controllate; pertanto, l'accesso non è garantito. Viene usata solo la denominazione in tre parti. Ciò significa che solo le stored procedure locali, non le stored procedure remote (che richiedono la denominazione in quattro parti), vengono restituite quando vengono eseguite su SQL Server. Se l'attributo ACCESSIBLE_SPROC server è 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 equivale a SQLProcedures in ODBC. I risultati restituiti vengono ordinati in PROCEDURE_QUALIFIERbase a , PROCEDURE_OWNERe PROCEDURE_NAME.

Autorizzazioni

È richiesta SELECT l'autorizzazione per lo schema.

Esempi

R. Restituire tutte le stored procedure nel database corrente

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

USE AdventureWorks2022;
GO
EXEC sp_stored_procedures;

B. Restituire una singola stored procedure

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

USE AdventureWorks2022;
GO

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