一、基础环境
操作系统:Windows 或 Linux
数据库版本:Oracle Database 11.2.0.1.0 及以上版本
二、适用场景
适用于一条语句更新、插入(或删除),效率比较高。建议在 on 的条件中使用的字段添加索引。
三、具体用法
1、一条语句更新和插入。
如何条件匹配就更新,如果不匹配就插入。
MERGE INTO 目标表 a
USING 源表 b
ON (a.字段1 = b.字段2 and a.字段n = b.字段n)
WHEN MATCHED THEN
UPDATE SET a.新字段 = b.字段 WHERE 限制条件
WHEN NOT MATCHED THEN
INSERT
(a.字段名1,a.字段名n)
VALUES
(b.字段值1, b.字段值n)
WHERE 限制条件
2、一条语句更新和删除。
MERGE INTO 目标表 a
USING 源表 b
ON (a.字段1 = b.字段2 and a.字段n = b.字段n)
WHEN MATCHED THEN
UPDATE SET a.新字段 = b.字段 WHERE 限制条件
WHEN NOT MATCHED THEN
DELETE a.新字段 = b.字段
WHERE 限制条件