CHECK các ràng buộc hiện không thể tham chiếu các bảng khác. Hướng dẫn sử dụng:
Hiện tại,
CHECKbiểu thức không được chứa truy vấn con cũng như tham chiếu đến các biến khác với các cột của hàng hiện tại.
Một cách là sử dụng trình kích hoạt như được minh họa bởi @Wolph.
Một giải pháp sạch không có chất kích hoạt :thêm các cột dư thừa và đưa chúng vào FOREIGN KEY ràng buộc , là lựa chọn đầu tiên để thực thi tính toàn vẹn của tham chiếu. Câu trả lời liên quan trên dba.SE với hướng dẫn chi tiết:
- Thực thi các ràng buộc “cách đó hai bàn”
Một tùy chọn khác sẽ là "giả mạo" một IMMUTABLE chức năng kiểm tra và sử dụng nó trong một CHECK hạn chế. Postgres sẽ cho phép điều này, nhưng hãy lưu ý những điều có thể xảy ra. Tốt nhất là NOT VALID hạn chế. 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