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

oracle sql:यदि मौजूद है तो अपडेट करें और डालें

MERGE को "एकाधिक तालिकाओं" की आवश्यकता नहीं है, लेकिन इसे स्रोत के रूप में एक क्वेरी की आवश्यकता है। कुछ इस तरह काम करना चाहिए:

MERGE INTO mytable d
USING (SELECT 1 id, 'x' name from dual) s
ON (d.id = s.id)
WHEN MATCHED THEN UPDATE SET d.name = s.name
WHEN NOT MATCHED THEN INSERT (id, name) VALUES (s.id, s.name);

वैकल्पिक रूप से आप इसे PL/SQL में कर सकते हैं:

BEGIN
  INSERT INTO mytable (id, name) VALUES (1, 'x');
EXCEPTION
  WHEN DUP_VAL_ON_INDEX THEN
    UPDATE mytable
    SET    name = 'x'
    WHERE id = 1;
END;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PL/SQL का उपयोग करके एक एक्सेल फ़ाइल (.xlsx) बनाएँ

  2. ORA-12514 TNS:श्रोता वर्तमान में कनेक्ट डिस्क्रिप्टर में अनुरोधित सेवा के बारे में नहीं जानता है

  3. ORA-24408:अद्वितीय सर्वर समूह नाम उत्पन्न नहीं कर सका

  4. Oracle PL/SQL को सर्वर का IP v4 मिलता है?

  5. Show_Alert का उपयोग करके Oracle प्रपत्रों में मोडल विंडो संदेश प्रदर्शित करना