Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong kèo bóng đá pháp phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

5.11. Theo dõi phụ kèo bóng đá pháp

Khi bạn tạo các cấu trúc cơ sở dữ liệu phức tạp liên quan đến nhiều Các bảng có các ràng buộc, quan điểm, kích hoạt, chức năng của nước ngoài, các chức năng, v.v ... bạn sẽ ngầm tạo ra một mạng lưới phụ kèo bóng đá pháp giữa Đối tượng. Chẳng hạn, một bảng có ràng buộc khóa nước ngoài phụ kèo bóng đá pháp vào bảng nó tham khảo.

Để đảm bảo tính toàn vẹn của toàn bộ cấu trúc cơ sở dữ liệu,PostgreSQLĐảm bảo rằng bạn Không thể bỏ các đối tượng mà các đối tượng khác vẫn phụ kèo bóng đá pháp vào. Vì Ví dụ, cố gắng bỏ bảng sản phẩm mà chúng tôi đã xem xét TRONGPhần 5.3.5, với bảng đơn đặt hàng tùy kèo bóng đá pháp vào nó, sẽ dẫn đến Một thông báo lỗi như thế này:

Sản phẩm Bàn thả;

Thông báo: Ràng buộc đơn hàng_product_no_fkey trên đơn đặt hàng phụ kèo bóng đá pháp vào sản phẩm bảng
Lỗi: Không thể bỏ các sản phẩm bảng vì các đối tượng khác phụ kèo bóng đá pháp vào nó
Gợi ý: Sử dụng thả ... Cascade để thả các đối tượng phụ kèo bóng đá pháp quá.

Thông báo lỗi chứa một gợi ý hữu ích: Nếu bạn không muốn Để bận tâm xóa tất cả các đối tượng phụ kèo bóng đá pháp riêng lẻ, bạn có thể chạy

DROP BẢNG SẢN PHẨM CASCADE;

Và tất cả các đối tượng phụ kèo bóng đá pháp sẽ bị xóa. Trong trường hợp này, nó không xóa bảng đơn đặt hàng, nó chỉ loại bỏ nước ngoài ràng buộc chính. (Nếu bạn muốn kiểm tra cái gìDrop ... Cascadesẽ làm, chạythảkhông cóCascadevà ĐọcThông báoTin nhắn.)

Tất cả kèo bóng đá pháp lệnh thả trongPostgreSQLHỗ trợ Chỉ địnhCascade. Tất nhiên, bản chất của có thể Sự phụ kèo bóng đá pháp thay đổi theo loại đối tượng. Bạn cũng có thể viếtHạn chếthay vìCascadeĐể có được hành vi mặc định, đó là Ngăn chặn các giọt đối tượng mà các đối tượng khác phụ kèo bóng đá pháp vào.

Lưu ý:kèo bóng đá pháp tiêu chuẩn SQL, chỉ định hoặcHạn chếhoặcCascadelà bắt buộc. Không có hệ thống cơ sở dữ liệu thực sự thực thi quy tắc đó, nhưng liệu hành vi mặc định làHạn chếhoặcCascadekhác nhau giữa kèo bóng đá pháp hệ thống.

Lưu ý:phụ kèo bóng đá pháp cột nối tiếp từPostgreSQLPhiên bản trước 7.3 làkhôngbảo trì hoặc được tạo ra trong quá trình nâng cấp. Tất cả sự phụ kèo bóng đá pháp khác Các loại sẽ được tạo đúng trong quá trình nâng cấp từ một Cơ sở dữ liệu trước 7.3.