Dans SQL Server, vous pouvez utiliser les PARAMETERS
Transact-SQL vue du schéma des informations système pour trouver les paramètres utilisés dans une procédure stockée ou une fonction définie par l'utilisateur.
Plus précisément, il renvoie une ligne pour chaque paramètre d'une fonction définie par l'utilisateur ou d'une procédure stockée accessible à l'utilisateur actuel dans la base de données actuelle.
Pour utiliser cette vue, spécifiez le nom complet de INFORMATION_SCHEMA.PARAMETERS
.
Exemple 1 - Utilisation de base
Voici un exemple de retour d'informations sur les paramètres utilisés dans toutes les procédures stockées et les fonctions définies par l'utilisateur dans la base de données actuelle à laquelle l'utilisateur actuel a accès.
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;
Résultat :
+------------+----------+----------------------+--------+-------------+------------------+-------------+ | 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 | +------------+----------+----------------------+--------+-------------+------------------+-------------+
Dans cet exemple, j'ai choisi de ne renvoyer que sept colonnes de la vue. L'exemple suivant affiche toutes les colonnes.
Exemple 2 - Renvoyer toutes les colonnes
Dans cet exemple, j'inclus toutes les colonnes renvoyées par la vue. J'utilise également la sortie verticale pour que vous ne soyez pas obligé de faire défiler horizontalement. Aussi, par souci de brièveté, j'utilise un WHERE
clause afin de renvoyer des informations sur une seule fonction définie par l'utilisateur qui utilise un paramètre (par conséquent, une seule ligne est renvoyée).
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = 'ufn_AlbumsByGenre';
Résultat (en utilisant la sortie 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
Consultez la documentation Microsoft pour plus d'informations sur chaque colonne renvoyée par cette vue.