代码示例
merge into 表名 as dst
using
(
select
value1 as column1,
value2 as column2,
value3 as column3,
...
from
dual
union all
select
value1 as column1,
value2 as column2,
value3 as column3,
...
from
dual
) as src
on
-- 此处为唯一索引字段,可为单个或多个
(dst.unique_index_column1 = src.unique_index_column1 and dst.unique_index_column2 = src.unique_index_column2 ...)
when matched then
-- 更新时不能更新唯一索引字段
update
set
column1 = src.column1,
column2 = src.column2,
...
when not matched then
insert
(
unique_index_column,
column1 ,
column2 ,
...
)
values
(
src.uniqueValue,
src.column1 ,
src.column2 ,
...
)