Jeg går ud fra, at du forsøger at sikre, at Book
poster opdateres, hver gang du ændrer Pname
kolonnen i Publisher
tabel, men Oracle har ingen on update cascade
.
Se her
for syntaksdiagrammet for references
klausul.
For at ændre primærnøgler i Oracle har du et par muligheder:
-
Udskyd begrænsningen (fremmed nøgle) tjek indtil commit, og opdater derefter både forælder og barn i transaktionen.
-
Opret en ny forælder med de opdaterede detaljer, så skift alle børn, og slet derefter den oprindelige forælder. Alt sammen selvfølgelig i en transaktion.
-
Stop med at bruge mutable data som en nøgle. Det tog lang tid for DBA'er at overbevise mig om, at kunstige (surrogat)nøgler skulle bruges frem for ægte data, men dette var den use case, der til sidst vandt mig. Brug af en kunstig nøgle (som aldrig skal ændres) betyder, at dette problem forsvinder fuldstændigt.