Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ORA-02298 पैरेंट कुंजियाँ नहीं मिलीं?

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

जब यह कुंजी लागू की जाती है, तो Oracle जाँचता है कि वर्कपैकेज तालिका में मौजूद सभी कर्मचारी कर्मचारी तालिका में मौजूद हैं।

आपके विकल्प:

आपत्तिजनक कुंजियों को चलाकर ढूंढें

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

और फिर उन्हें कर्मचारी तालिका में डालें।

दूसरा विकल्प NOVALIDATE का उपयोग करना है ताकि मौजूदा डेटा की जांच न हो, लेकिन कोई भी नया इंसर्ट/अपडेट मान्य किया जाएगा। देखें यह बेला इस पर डेमो के लिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mybatis द्वारा निष्पादित ओरेकल प्रक्रिया से पैरामीटर प्राप्त नहीं कर सकता

  2. Oracle डेटाबेस में VALUES-of बाउंड क्लॉज के साथ FORALL स्टेटमेंट

  3. Oracle JDBC:डबल में अंडरफ्लो

  4. SQLPlus AUTO_INCREMENT त्रुटि

  5. nhibernate, Oracle में कॉल फ़ंक्शन जो sys refcursor लौटाता है