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

इनर जॉइन के साथ Oracle अपडेट स्टेटमेंट

Oracle में, आप से . का उपयोग नहीं कर सकते एक अपडेट कथन उस तरफ। निम्न में से कोई भी काम करना चाहिए।

UPDATE d
SET    d.user_id   =
          (SELECT c.user_id
           FROM   c
           WHERE  d.mgr_cd = c.mgr_cd)
WHERE  d.user_id IS NULL;

UPDATE (SELECT d.user_id AS d_user_id, c.user_id AS c_user_id
        FROM   d INNER JOIN c ON d.mgr_cd = c.mgr_cd
        WHERE  d.user_id IS NULL)
SET    d_user_id   = c_user_id;

UPDATE (SELECT d.user_id AS d_user_id, c.user_id AS c_user_id
        FROM   d INNER JOIN c ON d.mgr_cd = c.mgr_cd)
SET    d_user_id   = c_user_id
WHERE  d_user_id IS NULL;

हालांकि, मेरी प्राथमिकता MERGE . का उपयोग करना है इस परिदृश्य में:

MERGE INTO d
USING      c
ON         (d.mgr_cd = c.mgr_cd)
WHEN MATCHED THEN
    UPDATE SET d.user_id = c.user_id
        WHERE      d.user_id IS NULL;



  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. 'स्ट्रिंग' बनाम ='स्ट्रिंग' का उपयोग करने के लिए ओरेकल में कोई प्रदर्शन प्रभाव?

  3. आप ओरेकल पीएल/एसक्यूएल में एक साधारण एक्सएमएल स्निपेट को कैसे पार्स करते हैं और इसे वैश्विक अस्थायी तालिका में लोड करते हैं?

  4. हाइबरनेट ओरेकल अनुक्रम बड़े अंतर पैदा करता है

  5. Oracle:मैं किसी ऑब्जेक्ट का नया नाम किसी आफ्टर ALTER ट्रिगर में कैसे निर्धारित करूं?