Trong SQL Server, bạn có thể sử dụng PARAMETERS
của Transact-SQL chế độ xem giản đồ thông tin hệ thống để tìm các tham số được sử dụng trong một thủ tục được lưu trữ hoặc chức năng do người dùng xác định.
Cụ thể hơn, nó trả về một hàng cho mỗi tham số của hàm do người dùng xác định hoặc thủ tục được lưu trữ 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.PARAMETERS
.
Ví dụ 1 - Cách sử dụng cơ bản
Dưới đây là ví dụ về việc trả lại thông tin về các tham số được sử dụng trong tất cả các thủ tục được lưu trữ và các hàm do người dùng xác định trong cơ sở dữ liệu hiện tại mà người dùng hiện tại có quyền truy cập.
SELECT SPECIFIC_CATALOG AS [Database], SPECIFIC_SCHEMA AS [Schema], SPECIFIC_NAME AS [Table], PARAMETER_MODE AS [Mode], IS_RESULT, PARAMETER_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.PARAMETERS;
Kết quả:
+------------+----------+----------------------+--------+-------------+------------------+-------------+ | Database | Schema | Table | Mode | IS_RESULT | PARAMETER_NAME | DATA_TYPE | |------------+----------+----------------------+--------+-------------+------------------+-------------| | Music | dbo | ISOweek | OUT | YES | | int | | Music | dbo | ISOweek | IN | NO | @DATE | datetime | | Music | dbo | ufn_AlbumsByGenre | IN | NO | @GenreId | int | | Music | dbo | spAlbumsFromArtist | IN | NO | @ArtistName | varchar | | Music | dbo | uspGetAlbumsByArtist | IN | NO | @ArtistId | int | +------------+----------+----------------------+--------+-------------+------------------+-------------+
Trong ví dụ này, tôi chọn chỉ trả về bảy cột từ chế độ xem. Ví dụ sau đây hiển thị tất cả các cột.
Ví dụ 2 - Trả lại Tất cả các Cột
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 sử dụng WHERE
để trả về thông tin chỉ về một hàm do người dùng xác định sử dụng một tham số (do đó, chỉ một hàng được trả về).
SELECT * FROM INFORMATION_SCHEMA.PARAMETERS WHERE SPECIFIC_NAME = 'ufn_AlbumsByGenre';
Kết quả (sử dụng đầu ra dọc):
SPECIFIC_CATALOG | Music SPECIFIC_SCHEMA | dbo SPECIFIC_NAME | ufn_AlbumsByGenre ORDINAL_POSITION | 1 PARAMETER_MODE | IN IS_RESULT | NO AS_LOCATOR | NO PARAMETER_NAME | @GenreId DATA_TYPE | int CHARACTER_MAXIMUM_LENGTH | NULL CHARACTER_OCTET_LENGTH | NULL COLLATION_CATALOG | NULL COLLATION_SCHEMA | NULL COLLATION_NAME | NULL CHARACTER_SET_CATALOG | NULL CHARACTER_SET_SCHEMA | NULL CHARACTER_SET_NAME | NULL NUMERIC_PRECISION | 10 NUMERIC_PRECISION_RADIX | 10 NUMERIC_SCALE | 0 DATETIME_PRECISION | NULL INTERVAL_TYPE | NULL INTERVAL_PRECISION | NULL USER_DEFINED_TYPE_CATALOG | NULL USER_DEFINED_TYPE_SCHEMA | NULL USER_DEFINED_TYPE_NAME | NULL SCOPE_CATALOG | NULL SCOPE_SCHEMA | NULL SCOPE_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.