Ràng buộc KIỂM TRA với UDF (đó là câu trả lời của Oded) không mở rộng quy mô tốt và có tính đồng thời kém. Xem những điều này:
- Các UDF vô hướng được bao bọc trong các ràng buộc CHECK rất chậm và có thể không thành công đối với các bản cập nhật nhiều lần
- Tony Rogerson
Vì vậy:
- tạo một bảng mới, giả sử TableA2XY
- cột này có PK của TableA và cột char (1) có CHECK để cho phép mã vạch X hoặc Y. Và cũng có một ràng buộc duy nhất đối với PK của A.
- tableX và tableY có cột char (1) mới với dấu kiểm để chỉ cho phép X hoặc Y tương ứng
- tableX và tableY có FK thành TableA2XY trên cả hai cột
Đây là phương pháp superkey hoặc subtype
- dựa trên tất cả DRI
- không có trình kích hoạt
- không có udfs nào có quyền truy cập bảng trong ràng buộc KIỂM TRA.