一 merge使用说明
当需要对一个表根据不同条件分别进行INSERT、UPDATE以及DELETE操作时,可以使用MERGE(融合,合并)语句。MERGE语句可以根据不同条件获取要插入、更新或删除到表中的数据行,然后从1个或多个数据源头对表进行更新或者向表中插入行。
二 merge的语法
MERGE INTO 表名
USING 表名/视图/子查询
ON 条件
-- 当匹配得上连接条件时
WHEN MATCHED THEN
更新、删除操作
-- 当匹配不上连接条件时
WHEN NOT MATCHED THEN
更新、删除、插入操作
三、使用操作如下
image.png
image.png
dept_salary表和employees表具有相同的列EMPLOYEE_ID。
image.png
image.png
不满足条件时:表dept_salary新插入两条记录employee_id为106和107。
满足条件时:employee_id为105、103的salary_amt值更新为0.2倍的salary。