Quy tắc chung là sử dụng CHECK
ràng buộc khi có thể.
CHECK
ràng buộc nhanh hơn, đơn giản hơn, di động hơn, cần ít mã hơn và ít bị lỗi hơn. Ví dụ:các trình kích hoạt có thể dễ dàng bị các trình kích hoạt khác phá vỡ.
TRIGGER
phức tạp hơn. Sử dụng nó khi bạn phải , cho các yêu cầu phức tạp hơn.
Nếu một CHECK
ràng buộc quá hạn chế đối với trường hợp của bạn hoặc gây ra sự cố khi tải lại kết xuất, bạn có thể sử dụng NOT VALID
bổ trợ ở dạng trung bình (Postgres 9.2+). Và, theo tùy chọn, VALIDATE
trễ rồi. Xem:
- Tắt tất cả các ràng buộc và kiểm tra bảng trong khi khôi phục kết xuất