PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

CONSTRAINT để kiểm tra các giá trị từ một bảng có liên quan từ xa (thông qua phép nối, v.v.)

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, CHECK biể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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cho phép rỗng trong cột duy nhất

  2. So sánh Hiệu suất &Định giá PostgreSQL DigitalOcean - ScaleGrid so với Cơ sở dữ liệu được quản lý DigitalOcean

  3. Chỉ mục GIN trên cột smallint [] không được sử dụng hoặc toán tử lỗi không phải là duy nhất

  4. Cách thay đổi kiểu viền bảng trong kết quả truy vấn psql

  5. Nhận số ngày trong tháng trong PostgreSQL