W SQL Server możesz użyć Transact-SQL PARAMETERS
widok schematu informacji o systemie, aby znaleźć parametry używane w procedurze składowanej lub funkcji zdefiniowanej przez użytkownika.
Dokładniej, zwraca jeden wiersz dla każdego parametru funkcji zdefiniowanej przez użytkownika lub procedury składowanej, do której bieżący użytkownik może uzyskać dostęp w bieżącej bazie danych.
Aby użyć tego widoku, określ w pełni kwalifikowaną nazwę INFORMATION_SCHEMA.PARAMETERS
.
Przykład 1 – Podstawowe użycie
Oto przykład zwracania informacji o parametrach używanych we wszystkich procedurach składowanych i funkcjach zdefiniowanych przez użytkownika w bieżącej bazie danych, do których bieżący użytkownik ma dostęp.
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;
Wynik:
+------------+----------+----------------------+--------+-------------+------------------+-------------+ | 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 | +------------+----------+----------------------+--------+-------------+------------------+-------------+
W tym przykładzie wybrałem zwrócenie tylko siedmiu kolumn z widoku. Poniższy przykład wyświetla wszystkie kolumny.
Przykład 2 – Zwróć wszystkie kolumny
W tym przykładzie uwzględniam wszystkie kolumny, które zwraca widok. Używam również wyjścia pionowego, aby nie trzeba było przewijać w poziomie. Ponadto, ze względu na zwięzłość, używam WHERE
klauzula w celu zwrócenia informacji o tylko jednej funkcji zdefiniowanej przez użytkownika, która używa jednego parametru (dlatego zwracany jest tylko jeden wiersz).
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = 'ufn_AlbumsByGenre';
Wynik (przy użyciu wyjścia pionowego):
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
Zapoznaj się z dokumentacją firmy Microsoft, aby uzyskać informacje o każdej kolumnie zwróconej przez ten widok.