sql >> Databáze >  >> RDS >> Oracle

získávání chyby ORA-00907 při vytváření tabulky ve vývojáři sql

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í.




  1. Instalace MySQL na VPS server a připojení z jiných serverů

  2. Triky, jak spustit řetězec uvnitř funkce na SQL Server

  3. Jak aktualizovat data z datatable do sql tabulky?

  4. Získat velikost více tabulek v jednom dotazu POSTGRES?