В SQL Server можете да използвате Transact-SQL ROUTINE_COLUMNS
изглед на схемата за системна информация, за да намерите колоните, върнати от функция с таблична стойност.
По-конкретно, той връща един ред за всяка колона, върната от функциите с таблична стойност, до които може да бъде достъпен текущият потребител в текущата база данни.
За да използвате този изглед, посочете пълното име на INFORMATION_SCHEMA.ROUTINE_COLUMNS
.
Пример 1 – Основна употреба
Ето един пример.
ИЗБЕРЕТЕ TABLE_CATALOG КАТО [База данни], TABLE_SCHEMA КАТО [Схема], TABLE_NAME КАТО [Функция], COLUMN_NAME КАТО [Колона], DATA_TYPE КАТО [Тип данни], CHARACTER_MAXIMUM_LENGTH КАТО [Максимална дължина на символа] FROM INFORMAR.>Резултат:
+------------+-----------+-------------------+-- ----------+------------+------------------+| База данни | Схема | Функция | Колона | Тип данни | Максимална дължина на символа ||------------+----------+-------------------+- -----------+------------+-------------------|| Музика | dbo | ufn_AlbumsByGenre | Име на изпълнител | nvarchar | 255 || Музика | dbo | ufn_AlbumsByGenre | Име на албум | nvarchar | 255 || Музика | dbo | ufn_AlbumsByGenre | Жанр | nvarchar | 50 |+------------+-----------+------------------+--- ---------+------------+-------------------+Тези резултати ми показват, че има само една функция с таблична стойност, до която мога да осъществя достъп в базата данни и тя връща три колони.
В този пример избрах да върна само шест колони от изгледа. Следният пример показва всички колони, върнати от изгледа.
Пример 2 – Връщане на всички колони от изгледа
В този пример включвам всички колони, които изгледът връща. Използвам и вертикален изход, така че да не сте принудени да превъртате хоризонтално. Освен това, с цел краткост, указвам изгледът да връща информация само за една колона (следователно се връща само един ред).
SELECT * FROM INFORMATION_SCHEMA.ROUTINE_COLUMNSWHERE TABLE_NAME ='ufn_AlbumsByGenre'AND COLUMN_NAME ='Име на изпълнител';Резултат (с помощта на вертикален изход):
ТАБЛИЦА_КАТАЛОГ | МузикаTABLE_SCHEMA | dboTABLE_NAME | ufn_AlbumsByGenreCOLUMN_NAME | Име на изпълнителORDINAL_POSITION | 1COLUMN_DEFAULT | NULLIS_NULLABLE | NODATA_TYPE | nvarcharCHARACTER_MAXIMUM_LENGTH | 255 CHARACTER_OCTET_LENGTH | 510NUMERIC_PRECISION | NULLNUMERIC_PRECISION_RADIX | NULLNUMERIC_SCALE | NULLDATETIME_PRECISION | NULLCHARACTER_SET_CATALOG | NULLCHARACTER_SET_SCHEMA | NULLCHARACTER_SET_NAME | UNICODECOLLATION_CATALOG | NULLCOLLATION_SCHEMA | NULLCOLLATION_NAME | SQL_Latin1_General_CP1_CI_ASDOMAIN_CATALOG | NULLDOMAIN_SCHEMA | NULLDOMAIN_NAME | NULLВижте документацията на Microsoft за информация относно всяка колона, върната от този изглед.