Trong SQL Server, bạn có thể sử dụng Transact-SQL ROUTINE_COLUMNS
chế độ xem giản đồ thông tin hệ thống để tìm các cột được trả về bởi một hàm có giá trị bảng.
Cụ thể hơn, nó trả về một hàng cho mỗi cột được trả về bởi các hàm có giá trị bảng mà người dùng hiện tại có thể truy cập trong cơ sở dữ liệu hiện tại.
Để sử dụng chế độ xem này, hãy chỉ định tên đủ điều kiện của INFORMATION_SCHEMA.ROUTINE_COLUMNS
.
Ví dụ 1 - Cách sử dụng cơ bản
Đây là một ví dụ.
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;
Kết quả:
+------------+----------+-------------------+------------+-------------+-------------------+ | 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 | +------------+----------+-------------------+------------+-------------+-------------------+
Những kết quả này cho tôi thấy rằng chỉ có một hàm có giá trị bảng mà tôi có thể truy cập trong cơ sở dữ liệu và nó trả về ba cột.
Trong ví dụ này, tôi chọn chỉ trả về sáu cột từ chế độ xem. Ví dụ sau đây hiển thị tất cả các cột do chế độ xem trả về.
Ví dụ 2 - Trả lại Tất cả các Cột từ Chế độ xem
Trong ví dụ này, tôi bao gồm tất cả các cột mà chế độ xem trả về. Tôi cũng sử dụng đầu ra theo chiều dọc để bạn không bị buộc phải cuộn theo chiều ngang. Ngoài ra, để ngắn gọn, tôi chỉ định chế độ xem chỉ trả lại thông tin về một cột (do đó chỉ một hàng được trả về).
SELECT * FROM INFORMATION_SCHEMA.ROUTINE_COLUMNS WHERE TABLE_NAME = 'ufn_AlbumsByGenre' AND COLUMN_NAME = 'ArtistName';
Kết quả (sử dụng đầu ra dọc):
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
Xem tài liệu Microsoft để biết thông tin về từng cột được trả về bởi dạng xem này.