Có một số loại cơ chế trong SQL Server để cho phép kiểu được liệt kê như chức năng không?Các loại được liệt kê trong SQL Server 2008?
Ví dụ, nếu tôi có một cột gọi là "UpdateStatus" nó thường được thiết lập với giá trị chữ cái như vậy:
- D
- X
- U
- tôi
Điều này có thể tương đương với rất nhiều thứ. Điều đó dẫn đến sự nhầm lẫn. Cách khác là để có nó là một cột chuỗi như thế này:
- Việc tải xuống
- Deleted
- Cập nhật
- Khởi tạo
Nhưng có những vấn đề riêng của nó. Cuối cùng ai đó sẽ viết một cái gì đó như thế này: where UpdateStatus = 'Initalized'
(viết sai). Thêm vào đó, tôi nghe rằng việc khóa các chuỗi không phải là tất cả những gì thực hiện.
Vì vậy, có loại loại liệt kê nào cho SQL Server có thể trợ giúp với điều này không? Về cơ bản tôi đang tìm kiếm thời gian biên dịch kiểm tra rằng một giá trị được so sánh (tức là "khởi tạo") là một phần của một danh sách các giá trị.
Tôi đang sử dụng SQL Server 2008.
Không, khác mà các giải pháp đề xuất (bảng tra cứu với ràng buộc FK) không có gì trong SQL Server hoạt động giống như kiểu "enum". –
@marc_s: Điều đó quá tệ. Tôi đã hy vọng rằng một số phép thuật đối tượng CLR có thể được sử dụng để tạo ra một kiểu liệt kê. – Vaccano