Předpokládám, že se snažíte zajistit, aby Book
záznamy se aktualizují při každé změně Pname
ve sloupci Publisher
tabulka, ale Oracle nemá žádnou on update cascade
.
Viz zde
pro syntaktický diagram references
doložka.
Chcete-li změnit primární klíče v Oracle, máte několik možností:
-
Odložit omezení (cizí klíč) kontrolujte až do potvrzení a poté v rámci transakce aktualizujte rodiče i podřízené položky.
-
Vytvořte nový rodič s aktualizovanými podrobnostmi, pak jděte změnit všechny děti a poté odstraňte původního rodiče. Vše samozřejmě v rámci transakce.
-
Přestaňte používat měnitelná data jako klíč. DBA mi trvalo dlouho, než mě přesvědčili, že by se měly používat spíše umělé (náhradní) klíče než pravdivá data, ale tohle byl případ použití, který si mě nakonec získal. Použití umělého klíče (který se nikdy nemusí měnit) znamená, že tento problém zcela zmizí.