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

त्रुटि के साथ नोवालिडेट करें ora-02299

अगर मैं आपको सही ढंग से प्राप्त करता हूं, तो आप ओरेकल से पुराने डुप्लिकेट मानों को अनदेखा करने की अपेक्षा करते हैं और नए मानों को केवल तभी अनुमति देते हैं जब वे बाधा को पूरा करते हैं। त्रुटि वापस आ जाती है क्योंकि जब आप एक UNIQUE . जोड़ते हैं बाधा, ओरेकल मूल्यों की जांच करने के लिए कॉलम पर अद्वितीय अनुक्रमणिका बनाता है, लेकिन आपकी तालिका में पहले से ही डुप्लिकेट मान हैं, इसलिए यह विफल हो जाता है। मैं पहले गैर-अद्वितीय अनुक्रमणिका बनाउंगा, फिर बाधा जोड़ूंगा ताकि यह स्वचालित रूप से अद्वितीय अनुक्रमणिका बनाने के बजाय आपके मौजूदा गैर-अद्वितीय अनुक्रमणिका का उपयोग कर सके जो विफल हो जाएगा:

create index arc_ix on arc (name);

alter table arc add constraint arc_uq unique (name) enable 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. रौनम पर स्पष्टीकरण

  2. Oracle SQL में एक प्रतिस्थापन () फ़ंक्शन के आउटपुट से अल्पविराम सीमांकित स्ट्रिंग के साथ IN क्लॉज का उपयोग करना

  3. Php_oci8.dll लोड करने का प्रयास करते समय स्टार्टअप पर PHP चेतावनी

  4. एसक्यूएल दो टेबल के बीच सभी संभावित राउंड रॉबिन संयोजन

  5. Oracle Varchar2 से गैर-ASCII वर्णों को खोजना और हटाना