Oracle merge into using on when then 用法

merge into using on when then 是 Oracle 数据库合并数据表的一种操作,

MERGE INTO target_table a 
USING source_table b 
ON (a.col1 = b.col1 and a.col2 = b.col2)     
WHEN MATHED THEN update set a.col3 = b.col3 
WHEN NOT MATHED THEN insert (a.col1,a.col2,a.col3) values(b.col1,b.col2,b.col3);

merge into ... 表示将数据合并到目标表中
using ... 表示使用哪个数据表进行合并
on ... 表示合并的条件
when ... then ... 表示合并时执行的操作

常见的 when 和 then 组合:

when matched then update:目标表有相同的记录,更新该记录的值

when not matched then insert:目标表不存在相同的记录,插入新的记录

when not matched by source then delete: 源表中不存在相同的记录,删除目标表中的记录

你可能感兴趣的:(Oracle,oracle,数据库)