I SQL Server kan du bruge Transact-SQL PARAMETERS
systeminformationsskemavisning for at finde de parametre, der bruges i en lagret procedure eller brugerdefineret funktion.
Mere specifikt returnerer den én række for hver parameter i en brugerdefineret funktion eller lagret procedure, som den aktuelle bruger kan få adgang til i den aktuelle database.
For at bruge denne visning skal du angive det fuldt kvalificerede navn på INFORMATION_SCHEMA.PARAMETERS
.
Eksempel 1 – Grundlæggende brug
Her er et eksempel på returnering af information om de parametre, der bruges i alle lagrede procedurer og brugerdefinerede funktioner i den aktuelle database, som den aktuelle bruger har adgang til.
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;
Resultat:
+------------+----------+----------------------+--------+-------------+------------------+-------------+ | 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 | +------------+----------+----------------------+--------+-------------+------------------+-------------+
I dette eksempel valgte jeg kun at returnere syv kolonner fra visningen. Følgende eksempel viser alle kolonner.
Eksempel 2 – Returner alle kolonner
I dette eksempel inkluderer jeg alle kolonner, som visningen returnerer. Jeg bruger også lodret output, så du ikke er tvunget til at rulle vandret. For korthedens skyld bruger jeg også en WHERE
klausul for at returnere information om kun én brugerdefineret funktion, der bruger én parameter (derfor returneres kun én række).
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = 'ufn_AlbumsByGenre';
Resultat (ved hjælp af lodret output):
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
Se Microsoft-dokumentationen for oplysninger om hver kolonne, der returneres af denne visning.