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

ORA-02298 Rodičovské klíče nebyly nalezeny?

ALTER TABLE WORKPACKAGES
ADD FOREIGN KEY (EMPLOYEEID) REFERENCES EMPLOYEES (EMPLOYEEID);

Když je tento klíč vynucen, Oracle zkontroluje, zda jsou všechna ID zaměstnanců přítomná v tabulce Workpackages přítomna v tabulce Zaměstnanci.

Vaše možnosti:

Najděte nevhodné klíče spuštěním

SELECT employeeid
FROM   workpackages
WHERE  employeeid NOT IN (SELECT employeeid
                          FROM   employees); 

a poté je vložte do tabulky zaměstnanců.

Další možností je použít NOVALIDATE takže stávající data nebudou kontrolována, ale budou ověřeny všechny nové vložení/aktualizace. Viz tyto housle pro demo na toto.



  1. Jak spustit SQL Server 2017 a 2019 současně na počítači Mac

  2. Oracle:Dynamický SQL

  3. BadImageFormatException. K tomu dojde při spuštění v 64bitovém režimu s nainstalovanými 32bitovými klientskými součástmi Oracle

  4. Chyba analýzy:chyba syntaxe, neočekávané „“ (T_ENCAPSED_AND_WHITESPACE)