Oracle
 sql >> Baza danych >  >> RDS >> Oracle

pojawia się błąd ORA-00907 podczas tworzenia tabeli w programie sql developer

Zakładam, że starasz się upewnić, że Book rekordy są aktualizowane za każdym razem, gdy zmienisz Pname kolumna w Publisher tabela, ale Oracle nie ma on update cascade .

Zobacz tutaj dla diagramu składni references klauzula.

Aby zmienić klucze podstawowe w Oracle, masz kilka opcji:

  • Odrocz ograniczenie (klucz obcy) sprawdź aż do zatwierdzenia, a następnie zaktualizuj zarówno rodzica, jak i dziecko w ramach transakcji.

  • Utwórz nową rodzic ze zaktualizowanymi danymi, a następnie zmień wszystkie dzieci, a następnie usuń pierwotnego rodzica. Oczywiście wszystko w transakcji.

  • Przestań używać zmiennych danych jako klucza. DBA zajęło dużo czasu, aby przekonać mnie, że należy używać sztucznych (zastępczych) kluczy, a nie prawdziwych danych, ale to był przypadek użycia, który ostatecznie mnie przekonał. Użycie sztucznego klucza (który nigdy nie musi się zmieniać) oznacza, że ​​ten problem całkowicie zniknie.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zrozumienie aliasów Oracle — dlaczego alias nie jest rozpoznawany w zapytaniu, chyba że jest umieszczony w drugim zapytaniu?

  2. Jak zmienić tekst etykiety przycisku i dodać nową funkcjonalność w środowisku wykonawczym? Formularze Oracle

  3. PLS-00302:komponent musi być zadeklarowany- Nie można rozwiązać

  4. Różnica między klientem Oracle lnstant a klientem Oracle

  5. Talend, jak skopiować jeden db do drugiego