sql >> Database >  >> RDS >> Oracle

ORA-02298 Oudersleutels niet gevonden?

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

Wanneer deze sleutel wordt afgedwongen, controleert Oracle of alle werknemer-id's die aanwezig zijn in de tabel Werkpakketten aanwezig zijn in de tabel Werknemers.

Uw opties:

Zoek de overtredende sleutels door uit te voeren

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

en plaats ze vervolgens in de werknemerstabel.

Een andere optie is om NOVALIDATE te gebruiken zodat bestaande gegevens niet worden gecontroleerd, maar nieuwe toevoegingen/updates worden gevalideerd. Zie deze viool voor een demo hierover.



  1. Oracle Sql illegaal jaar

  2. Worden voorbereide instructies aan de serverzijde in de cache opgeslagen over meerdere pagina's die met PHP worden geladen?

  3. Best practice voor losse koppeling tussen gegevens en gebruikersinterface in Android - Adapter, Filter, CursorLoader en ContentProvider

  4. C# SSH-tunnel naar MySQL-server