Nếu bạn đang tìm kiếm một chế độ xem danh mục để trả về thông tin tham số trong SQL Server, bạn có một lựa chọn. Đặc biệt, bạn có thể lấy thông tin tham số từ sys.parameters
, sys.system_parameters
và sys.all_parameters
.
Tuy nhiên, bạn có thể sẽ chỉ muốn sử dụng một trong các chế độ xem này, vì có sự khác biệt giữa chúng.
Đây là định nghĩa chính thức của từng chế độ xem:
-
sys.parameters
- Chứa một hàng cho mỗi tham số của một đối tượng chấp nhận tham số. Nếu đối tượng là một hàm vô hướng, thì cũng có một hàng duy nhất mô tả giá trị trả về. Hàng đó sẽ có giá trị tham số =0.
-
sys.system_parameters
- Chứa một hàng cho mỗi đối tượng hệ thống có các tham số.
-
sys.all_parameters
- Hiển thị sự kết hợp của tất cả các tham số thuộc về đối tượng hệ thống hoặc do người dùng xác định.
Nói cách khác, chế độ xem cuối cùng kết hợp các kết quả của hai chế độ xem trước đó (nó trả về thông tin tham số từ cả hệ thống và đối tượng do người dùng xác định).
Ví dụ
Dưới đây là một ví dụ chứng minh sự khác biệt về kết quả do các chế độ xem này trả về.
USE Music; SELECT COUNT(*) AS parameters FROM sys.parameters; SELECT COUNT(*) AS system_parameters FROM sys.system_parameters; SELECT COUNT(*) AS all_parameters FROM sys.all_parameters;
Kết quả:
+--------------+ | parameters | |--------------| | 7 | +--------------+ (1 row affected) +---------------------+ | system_parameters | |---------------------| | 7442 | +---------------------+ (1 row affected) +------------------+ | all_parameters | |------------------| | 7449 | +------------------+ (1 row affected)
Trong trường hợp này, chỉ có 7 tham số cho các đối tượng do người dùng định nghĩa trong cơ sở dữ liệu này. Phần còn lại là từ các đối tượng hệ thống.
Nếu chúng ta cộng kết quả của hai truy vấn đầu tiên với nhau, chúng ta sẽ nhận được cùng một kết quả là sys.all_views
:
SELECT (SELECT COUNT(*) FROM sys.parameters) + (SELECT COUNT(*) FROM sys.system_parameters) AS Result;
Kết quả:
+----------+ | Result | |----------| | 7449 | +----------+