I SQL Server kan du använda Transact-SQL ROUTINE_COLUMNS
systeminformationsschemavy för att hitta kolumnerna som returneras av en tabellvärderad funktion.
Mer specifikt returnerar den en rad för varje kolumn som returneras av de tabellvärdade funktionerna som kan nås av den aktuella användaren i den aktuella databasen.
För att använda denna vy, ange det fullständiga namnet på INFORMATION_SCHEMA.ROUTINE_COLUMNS
.
Exempel 1 – Grundläggande användning
Här är ett exempel.
VÄLJ TABLE_CATALOG SOM [Databas], TABLE_SCHEMA SOM [Schema], TABLE_NAME SOM [Funktion], COLUMN_NAME SOM [Kolumn], DATA_TYPE SOM [Datatyp], CHARACTER_MAXIMUM_LENGTH SOM [Tecknets maxlängd] FRÅN INFORMATION_SCHEMA.ROUTINE; >Resultat:
+------------+-----------+------------------------+-- ----------+-------------+------------------------+| Databas | Schema | Funktion | Kolumn | Datatyp | Röd Max längd ||------------+----------+-------------------+- ----------+-------------+------------------------|| Musik | dbo | ufn_AlbumsByGenre | Artistnamn | nvarchar | 255 || Musik | dbo | ufn_AlbumsByGenre | Albumnamn | nvarchar | 255 || Musik | dbo | ufn_AlbumsByGenre | Genre | nvarchar | 50 |+------------+-----------+------------------------+--- ----------+-------------+------------------------+Dessa resultat visar mig att det bara finns en funktion med tabellvärde som jag kan komma åt i databasen, och den returnerar tre kolumner.
I det här exemplet valde jag att endast returnera sex kolumner från vyn. Följande exempel visar alla kolumner som returneras av vyn.
Exempel 2 – Returnera alla kolumner från vyn
I det här exemplet inkluderar jag alla kolumner som vyn returnerar. Jag använder också vertikal utmatning så att du inte tvingas rulla horisontellt. För korthetens skull specificerar jag också att vyn returnerar information om bara en kolumn (därför returneras bara en rad).
VÄLJ * FRÅN INFORMATION_SCHEMA.ROUTINE_COLUMNSWHERE TABLE_NAME ='ufn_AlbumsByGenre'AND COLUMN_NAME ='Artistnamn';Resultat (med vertikal utdata):
TABLE_CATALOG | MusikTABLE_SCHEMA | dboTABLE_NAME | ufn_AlbumsByGenreCOLUMN_NAME | ArtistnamnORDINAL_POSITION | 1COLUMN_DEFAULT | NULLIS_NULLABLE | NODATA_TYPE | nvarcharCHARACTER_MAXIMUM_LENGTH | 255CHARACTER_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 | NULLSe Microsofts dokumentation för information om varje kolumn som returneras av den här vyn.