Bạn nên sử dụng sys
hiện tại chế độ xem danh mục (nếu bạn đang sử dụng SQL Server 2005 hoặc mới hơn - sysobjects
chế độ xem không được dùng nữa và nên tránh) - xem tài liệu MSDN SQL Server Books Online mở rộng về dạng xem danh mục tại đây.
Có một số chế độ xem bạn có thể quan tâm:
-
sys.default_constraints
cho các ràng buộc mặc định trên cột -
sys.check_constraints
để kiểm tra các ràng buộc trên cột -
sys.key_constraints
cho các ràng buộc khóa (ví dụ:khóa chính) -
sys.foreign_keys
đối với các mối quan hệ chính đối ngoại
và nhiều hơn nữa - xem thử!
Bạn có thể truy vấn và tham gia các chế độ xem đó để nhận thông tin cần thiết - ví dụ:điều này sẽ liệt kê các bảng, cột và tất cả các ràng buộc mặc định được xác định trên chúng:
SELECT
TableName = t.Name,
ColumnName = c.Name,
dc.Name,
dc.definition
FROM sys.tables t
INNER JOIN sys.default_constraints dc ON t.object_id = dc.parent_object_id
INNER JOIN sys.columns c ON dc.parent_object_id = c.object_id AND c.column_id = dc.parent_column_id
ORDER BY t.Name