Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Tìm các cột được trả về bởi một hàm có giá trị bảng (Ví dụ T-SQL)

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thông tin thêm về Giới thiệu các múi giờ trong Dự án tồn tại lâu dài

  2. 10 lý do hàng đầu tại sao bạn nên học SQL

  3. Ngưỡng tham gia thích ứng

  4. Bất ngờ về hiệu suất và giả định:BẬT SỐ KHOẢN

  5. SQL WHERE Nhiều điều kiện