Câu lệnh MERGE hợp nhất dữ liệu giữa hai bảng. Sử dụng DUAL cho phép chúng tôi sử dụng lệnh này. Lưu ý rằng điều này không được bảo vệ chống lại truy cập đồng thời.
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