In SQL Server puoi utilizzare i PARAMETERS
di Transact-SQL visualizzazione dello schema delle informazioni di sistema per trovare i parametri utilizzati in una procedura memorizzata o in una funzione definita dall'utente.
Più specificamente, restituisce una riga per ogni parametro di una funzione definita dall'utente o di una procedura memorizzata a cui l'utente corrente può accedere nel database corrente.
Per utilizzare questa vista, specifica il nome completo di INFORMATION_SCHEMA.PARAMETERS
.
Esempio 1 – Utilizzo di base
Ecco un esempio di restituzione di informazioni sui parametri utilizzati in tutte le procedure memorizzate e le funzioni definite dall'utente nel database corrente a cui l'utente corrente ha accesso.
SELECT SPECIFIC_CATALOG AS [Database], SPECIFIC_SCHEMA AS [Schema], SPECIFIC_NAME AS [Table], PARAMETER_MODE AS [Mode], IS_RESULT, PARAMETER_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.PARAMETERS;
Risultato:
+------------+----------+----------------------+--------+-------------+------------------+-------------+ | Database | Schema | Table | Mode | IS_RESULT | PARAMETER_NAME | DATA_TYPE | |------------+----------+----------------------+--------+-------------+------------------+-------------| | Music | dbo | ISOweek | OUT | YES | | int | | Music | dbo | ISOweek | IN | NO | @DATE | datetime | | Music | dbo | ufn_AlbumsByGenre | IN | NO | @GenreId | int | | Music | dbo | spAlbumsFromArtist | IN | NO | @ArtistName | varchar | | Music | dbo | uspGetAlbumsByArtist | IN | NO | @ArtistId | int | +------------+----------+----------------------+--------+-------------+------------------+-------------+
In questo esempio ho scelto di restituire solo sette colonne dalla vista. L'esempio seguente mostra tutte le colonne.
Esempio 2 – Restituisci tutte le colonne
In questo esempio includo tutte le colonne restituite dalla vista. Uso anche l'output verticale in modo da non essere costretto a scorrere orizzontalmente. Inoltre, per brevità, utilizzo un WHERE
clausola per restituire informazioni su una sola funzione definita dall'utente che utilizza un parametro (quindi viene restituita solo una riga).
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = 'ufn_AlbumsByGenre';
Risultato (usando l'output verticale):
SPECIFIC_CATALOG | Music SPECIFIC_SCHEMA | dbo SPECIFIC_NAME | ufn_AlbumsByGenre ORDINAL_POSITION | 1 PARAMETER_MODE | IN IS_RESULT | NO AS_LOCATOR | NO PARAMETER_NAME | @GenreId DATA_TYPE | int CHARACTER_MAXIMUM_LENGTH | NULL CHARACTER_OCTET_LENGTH | NULL COLLATION_CATALOG | NULL COLLATION_SCHEMA | NULL COLLATION_NAME | NULL CHARACTER_SET_CATALOG | NULL CHARACTER_SET_SCHEMA | NULL CHARACTER_SET_NAME | NULL NUMERIC_PRECISION | 10 NUMERIC_PRECISION_RADIX | 10 NUMERIC_SCALE | 0 DATETIME_PRECISION | NULL INTERVAL_TYPE | NULL INTERVAL_PRECISION | NULL USER_DEFINED_TYPE_CATALOG | NULL USER_DEFINED_TYPE_SCHEMA | NULL USER_DEFINED_TYPE_NAME | NULL SCOPE_CATALOG | NULL SCOPE_SCHEMA | NULL SCOPE_NAME | NULL
Consulta la documentazione Microsoft per informazioni su ciascuna colonna restituita da questa visualizzazione.