Ik neem aan dat je probeert ervoor te zorgen dat het Book
records worden bijgewerkt wanneer u de Pname
. wijzigt kolom in de Publisher
tabel, maar Oracle heeft geen on update cascade
.
Zie hier
voor het syntaxisdiagram van de references
clausule.
Om primaire sleutels in Oracle te wijzigen, hebt u een paar opties:
-
De beperking uitstellen (buitenlandse sleutel) check tot commit, update dan zowel ouder als kind binnen de transactie.
-
Maak een nieuwe ouder met de bijgewerkte details, verander dan alle kinderen en verwijder vervolgens de oorspronkelijke ouder. Allemaal in een transactie natuurlijk.
-
Stop met het gebruik van veranderlijke gegevens als sleutel. Het duurde lang voordat DBA's me ervan overtuigden dat kunstmatige (surrogaat) sleutels moesten worden gebruikt in plaats van echte gegevens, maar dit was de use case die me uiteindelijk overtuigde. Door een kunstmatige sleutel te gebruiken (die nooit hoeft te veranderen) verdwijnt dit probleem volledig.