Tôi cho rằng bạn đang cố gắng đảm bảo rằng Book
các bản ghi được cập nhật bất cứ khi nào bạn thay đổi Pname
trong Publisher
bảng, nhưng Oracle không có on update cascade
.
Xem tại đây
cho sơ đồ cú pháp của references
mệnh đề.
Để thay đổi khóa chính trong Oracle, bạn có một số tùy chọn:
-
Trì hoãn ràng buộc (khóa ngoại) kiểm tra cho đến khi cam kết, sau đó cập nhật cả cha và con trong giao dịch.
-
Tạo mới cha mẹ với các chi tiết được cập nhật, sau đó đi thay đổi tất cả các con, sau đó xóa cha mẹ ban đầu. Tất cả trong một giao dịch tất nhiên.
-
Ngừng sử dụng dữ liệu có thể thay đổi làm khóa. Phải mất một thời gian dài để các DBA thuyết phục tôi rằng các khóa nhân tạo (thay thế) nên được sử dụng thay vì dữ liệu thực, nhưng đây là trường hợp sử dụng cuối cùng đã chiến thắng tôi. Sử dụng khóa nhân tạo (không bao giờ phải thay đổi) có nghĩa là vấn đề này sẽ biến mất hoàn toàn.