En SQL Server, puede usar los PARAMETERS
de Transact-SQL vista de esquema de información del sistema para encontrar los parámetros utilizados en un procedimiento almacenado o una función definida por el usuario.
Más específicamente, devuelve una fila para cada parámetro de una función definida por el usuario o procedimiento almacenado al que puede acceder el usuario actual en la base de datos actual.
Para utilizar esta vista, especifique el nombre completo de INFORMATION_SCHEMA.PARAMETERS
.
Ejemplo 1:uso básico
Este es un ejemplo de devolución de información sobre los parámetros utilizados en todos los procedimientos almacenados y funciones definidas por el usuario en la base de datos actual a la que tiene acceso el usuario actual.
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;
Resultado:
+------------+----------+----------------------+--------+-------------+------------------+-------------+ | 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 | +------------+----------+----------------------+--------+-------------+------------------+-------------+
En este ejemplo, elegí devolver solo siete columnas de la vista. El siguiente ejemplo muestra todas las columnas.
Ejemplo 2:devolver todas las columnas
En este ejemplo, incluyo todas las columnas que devuelve la vista. También uso la salida vertical para que no te veas obligado a desplazarte horizontalmente. Además, en aras de la brevedad, uso un WHERE
para devolver información sobre una sola función definida por el usuario que usa un parámetro (por lo tanto, solo se devuelve una fila).
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = 'ufn_AlbumsByGenre';
Resultado (usando salida vertical):
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
Consulte la documentación de Microsoft para obtener información sobre cada columna devuelta por esta vista.