Je suppose que vous essayez de vous assurer que le Book
les enregistrements sont mis à jour chaque fois que vous modifiez le Pname
colonne dans la colonne Publisher
table, mais Oracle n'a pas de on update cascade
.
Voir ici
pour le diagramme de syntaxe des references
clause.
Pour changer les clés primaires dans Oracle, vous avez plusieurs options :
-
Différer la contrainte (clé étrangère) vérifier jusqu'à la validation, puis mettre à jour le parent et l'enfant dans la transaction.
-
Créer un nouveau parent avec les détails mis à jour, puis modifiez tous les enfants, puis supprimez le parent d'origine. Le tout dans une transaction bien sûr.
-
Arrêtez d'utiliser des données modifiables comme clé. Il a fallu beaucoup de temps aux administrateurs de base de données pour me convaincre que des clés artificielles (de substitution) devaient être utilisées plutôt que de vraies données, mais c'est le cas d'utilisation qui m'a finalement convaincu. L'utilisation d'une clé artificielle (qui ne doit jamais changer) signifie que ce problème disparaît totalement.