W SQL Server można użyć języka Transact-SQL ROUTINE_COLUMNS
widok schematu informacji o systemie, aby znaleźć kolumny zwrócone przez funkcję o wartościach w tabeli.
Dokładniej, zwraca jeden wiersz na każdą kolumnę zwróconą przez funkcje z wartościami w tabeli, do których bieżący użytkownik może uzyskać dostęp w bieżącej bazie danych.
Aby użyć tego widoku, określ w pełni kwalifikowaną nazwę INFORMATION_SCHEMA.ROUTINE_COLUMNS
.
Przykład 1 – Podstawowe użycie
Oto przykład.
SELECT TABLE_CATALOG AS [Baza danych], TABLE_SCHEMA AS [Schemat], TABLE_NAME AS [Funkcja], COLUMN_NAME AS [Kolumna], DATA_TYPE AS [Typ danych], CHARACTER_MAXIMUM_LENGTH AS [Maksymalna długość znaku] FROM INFORMATION_SCHEMA.ROUTINE_COLUMNS;>Wynik:
+------------+-----------+-----------------------+-- -------+--------------+------------------------+| Baza danych | Schemat | Funkcja | Kolumna | Typ danych | Maksymalna długość znaku ||-----------+-----------+-----------------------+- --------+--------------+--------------------|| Muzyka | dbo | ufn_AlbumsByGenre | Nazwa wykonawcy | nvarchar | 255 || Muzyka | dbo | ufn_AlbumsByGenre | NazwaAlbumu | nvarchar | 255 || Muzyka | dbo | ufn_AlbumsByGenre | Gatunek | nvarchar | 50 |+-------------+-----------+------------------------+---- ---------+--------------+-------------------+Te wyniki pokazują, że w bazie danych mam dostęp tylko do jednej funkcji z wartościami tabeli, która zwraca trzy kolumny.
W tym przykładzie wybrałem zwrócenie tylko sześciu kolumn z widoku. Poniższy przykład wyświetla wszystkie kolumny zwrócone przez widok.
Przykład 2 – Zwróć wszystkie kolumny z widoku
W tym przykładzie uwzględniam wszystkie kolumny, które zwraca widok. Używam również wyjścia pionowego, aby nie trzeba było przewijać w poziomie. Ponadto, ze względu na zwięzłość, określam, aby widok zwracał informacje o tylko jednej kolumnie (dlatego zwracany jest tylko jeden wiersz).
SELECT * FROM INFORMATION_SCHEMA.ROUTINE_COLUMNSWHERE TABLE_NAME ='ufn_AlbumsByGenre'AND COLUMN_NAME ='Nazwa wykonawcy';Wynik (przy użyciu wyjścia pionowego):
TABELA_KATALOGU | MusicTABLE_SCHEMA | dboTABLE_NAME | ufn_AlbumsByGenreCOLUMN_NAME | Nazwa wykonawcyORDINAL_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 | NULLZapoznaj się z dokumentacją firmy Microsoft, aby uzyskać informacje o każdej kolumnie zwróconej przez ten widok.