En SQL Server, puede usar Transact-SQL ROUTINE_COLUMNS
vista de esquema de información del sistema para encontrar las columnas devueltas por una función con valores de tabla.
Más específicamente, devuelve una fila por cada columna devuelta por las funciones con valores de tabla a las que puede acceder el usuario actual en la base de datos actual.
Para utilizar esta vista, especifique el nombre completo de INFORMATION_SCHEMA.ROUTINE_COLUMNS
.
Ejemplo 1:uso básico
He aquí un ejemplo.
SELECT TABLE_CATALOG AS [Database], TABLE_SCHEMA AS [Schema], TABLE_NAME AS [Function], COLUMN_NAME AS [Column], DATA_TYPE AS [Data Type], CHARACTER_MAXIMUM_LENGTH AS [Char Max Length] FROM INFORMATION_SCHEMA.ROUTINE_COLUMNS;
Resultado:
+------------+----------+-------------------+------------+-------------+-------------------+ | Database | Schema | Function | Column | Data Type | Char Max Length | |------------+----------+-------------------+------------+-------------+-------------------| | Music | dbo | ufn_AlbumsByGenre | ArtistName | nvarchar | 255 | | Music | dbo | ufn_AlbumsByGenre | AlbumName | nvarchar | 255 | | Music | dbo | ufn_AlbumsByGenre | Genre | nvarchar | 50 | +------------+----------+-------------------+------------+-------------+-------------------+
Estos resultados me muestran que solo hay una función con valores de tabla a la que puedo acceder en la base de datos y devuelve tres columnas.
En este ejemplo, elegí devolver solo seis columnas de la vista. El siguiente ejemplo muestra todas las columnas devueltas por la vista.
Ejemplo 2:devolver todas las columnas de la vista
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, especifico que la vista devuelva información sobre una sola columna (por lo tanto, solo se devuelve una fila).
SELECT * FROM INFORMATION_SCHEMA.ROUTINE_COLUMNS WHERE TABLE_NAME = 'ufn_AlbumsByGenre' AND COLUMN_NAME = 'ArtistName';
Resultado (usando salida vertical):
TABLE_CATALOG | Music TABLE_SCHEMA | dbo TABLE_NAME | ufn_AlbumsByGenre COLUMN_NAME | ArtistName ORDINAL_POSITION | 1 COLUMN_DEFAULT | NULL IS_NULLABLE | NO DATA_TYPE | nvarchar CHARACTER_MAXIMUM_LENGTH | 255 CHARACTER_OCTET_LENGTH | 510 NUMERIC_PRECISION | NULL NUMERIC_PRECISION_RADIX | NULL NUMERIC_SCALE | NULL DATETIME_PRECISION | NULL CHARACTER_SET_CATALOG | NULL CHARACTER_SET_SCHEMA | NULL CHARACTER_SET_NAME | UNICODE COLLATION_CATALOG | NULL COLLATION_SCHEMA | NULL COLLATION_NAME | SQL_Latin1_General_CP1_CI_AS DOMAIN_CATALOG | NULL DOMAIN_SCHEMA | NULL DOMAIN_NAME | NULL
Consulte la documentación de Microsoft para obtener información sobre cada columna devuelta por esta vista.