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

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

यह सिंथैक्स Oracle SQL में काम नहीं करेगा।

Oracle में आप एक जॉइन को अपडेट कर सकते हैं यदि टेबल "कुंजी-संरक्षित" हैं, अर्थात:

UPDATE (SELECT a.val_a, b.val_b
          FROM table a
          JOIN table b ON a.b_pk = b.b_pk)
   SET val_a = val_b

मान लें कि b_pk b . की प्राथमिक कुंजी है , यहां शामिल होना अद्यतन करने योग्य है क्योंकि A की प्रत्येक पंक्ति के लिए अधिकतम . है बी से एक पंक्ति, इसलिए अद्यतन नियतात्मक है।

आपके मामले में चूंकि अद्यतन मूल्य किसी अन्य तालिका पर निर्भर नहीं है, इसलिए आप एक EXIST शर्त के साथ एक साधारण अद्यतन का उपयोग कर सकते हैं, ऐसा कुछ:

UPDATE mytable t
   SET t.VALUE = 'value'
 WHERE EXISTS 
       (SELECT NULL
          FROM tableb b
         INNER JOIN tablec c ON c.id = b.id
         INNER JOIN tabled d ON d.id = c.id
         WHERE t.id = b.id
           AND d.key = 1)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैक पर Oracle कैसे स्थापित करें

  2. Oracle SQL डेवलपर में जॉब शेड्यूल कैसे करें?

  3. DBCA डेटाबेस खराब बनाएँ REMOTE_LISTENER

  4. .NET के माध्यम से PL/SQL संग्रह प्रकार पैरामीटर के साथ Oracle प्रक्रिया को कॉल करना

  5. AWS EC2 से AWS RDS में Oracle डेटाबेस माइग्रेट करना, भाग 3