V SQL Server můžete použít PARAMETERS
Transact-SQL zobrazení schématu systémových informací k nalezení parametrů používaných v uložené proceduře nebo uživatelsky definované funkci.
Přesněji řečeno, vrací jeden řádek pro každý parametr uživatelsky definované funkce nebo uložené procedury, ke které má aktuální uživatel v aktuální databázi přístup.
Chcete-li použít toto zobrazení, zadejte plně kvalifikovaný název INFORMATION_SCHEMA.PARAMETERS
.
Příklad 1 – Základní použití
Zde je příklad vrácení informací o parametrech použitých ve všech uložených procedurách a uživatelsky definovaných funkcích v aktuální databázi, ke které má aktuální uživatel přístup.
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;
Výsledek:
+------------+----------+----------------------+--------+-------------+------------------+-------------+ | 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 | +------------+----------+----------------------+--------+-------------+------------------+-------------+
V tomto příkladu jsem se rozhodl vrátit pouze sedm sloupců z pohledu. Následující příklad zobrazuje všechny sloupce.
Příklad 2 – Vrátit všechny sloupce
V tomto příkladu zahrnu všechny sloupce, které zobrazení vrátí. Používám také vertikální výstup, abyste nebyli nuceni posouvat horizontálně. Kvůli stručnosti také používám WHERE
klauzule za účelem vrácení informací pouze o jedné uživatelsky definované funkci, která používá jeden parametr (proto je vrácen pouze jeden řádek).
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = 'ufn_AlbumsByGenre';
Výsledek (při použití vertikálního výstupu):
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
Informace o každém sloupci vráceném tímto zobrazením naleznete v dokumentaci společnosti Microsoft.