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

Oracle:UPSERT कैसे करें (किसी तालिका में अद्यतन या सम्मिलित करें?)

MERGE स्टेटमेंट दो टेबल के बीच डेटा मर्ज करता है। DUAL का उपयोग हमें इस कमांड का उपयोग करने की अनुमति देता है। ध्यान दें कि यह समवर्ती पहुंच से सुरक्षित नहीं है।

create or replace
procedure ups(xa number)
as
begin
    merge into mergetest m using dual on (a = xa)
         when not matched then insert (a,b) values (xa,1)
             when matched then update set b = b+1;
end ups;
/
drop table mergetest;
create table mergetest(a number, b number);
call ups(10);
call ups(10);
call ups(20);
select * from mergetest;

A                      B
---------------------- ----------------------
10                     2
20                     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. PowerShell में SQL प्लस स्क्रिप्ट कैसे चलाएं

  2. pl\sql . के साथ लाइन से क्लॉब लाइन पढ़ना

  3. TNS-12505:TNS:श्रोता को वर्तमान में कनेक्ट डिस्क्रिप्टर में दिए गए SID के बारे में पता नहीं है

  4. सीडी:-एम:अमान्य विकल्प

  5. एक विशिष्ट मूल्य (ओरेकल) के लिए सभी तालिकाओं में सभी फ़ील्ड खोजें