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

Oracle MERGE स्टेटमेंट एरर (ORA-30926)

पहला (और सबसे स्पष्ट) उत्तर डेटा को साफ करना है ताकि आपके पास डुप्लिकेट न हों। ऐसा लगता है कि आपके द्वारा प्रदान किया गया नमूना डेटा एक बग का परिणाम है।

जहां तक ​​merge का सवाल है कथन, यदि डेटा वास्तव में पूरी तरह से डुप्लिकेट है, तो आप केवल distinct . का उपयोग कर सकते हैं :

MERGE INTO maintable pr
USING      (SELECT DISTINCT contract,
                            membertype,
                            address1,
                            city,
                            state,
                            zipcode,
                            countrycode
            FROM   incrementaltable pra
            WHERE  pra.membertype = 'Parent')
ON         (pr.contract = pra.contract)
WHEN MATCHED THEN
   UPDATE SET pr.address1 = pra.address1,
              pr.city = pra.city,
              pr.state = pra.sate,
              pr.zipcode = pra.zipcode,
              pr.countrycode = pra.countrycode
      WHERE      address1 IS NULL AND pr.membertype <> 'Parent'



  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 में क्वेरी सबक्वेरी के साथ चयन करने के लिए

  3. यूनिक्स टाइमस्टैम्प को दिनांक और दिनांक समय में कनवर्ट करें - SQL/ORACLE

  4. पर्यावरण चर सेट किए बिना लिनक्स पर ओरेकल इंस्टेंट क्लाइंट स्थापित करना?

  5. मैं कैसे बता सकता हूं कि मेरे पास Oracle लेनदेन में अप्रतिबद्ध कार्य है या नहीं?