Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle:bagaimana cara UPSERT (memperbarui atau memasukkan ke dalam tabel?)

Pernyataan MERGE menggabungkan data antara dua tabel. Menggunakan DUALmemungkinkan kita untuk menggunakan perintah ini. Perhatikan bahwa ini tidak dilindungi dari akses bersamaan.

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. Bisakah kita mendistribusikan ulang Oracle tools.jar?

  2. Urutkan berdasarkan hari dalam seminggu dari Senin hingga Minggu

  3. Melewati array data sebagai parameter input ke prosedur Oracle

  4. Hasil format pengurangan waktu

  5. Bagaimana menemukan baris yang terkunci di Oracle