SQL - ORACLE MERGE INTO 对比两张表,A,B 表B数据表A有则更新表A 无则插入
表B数据 , 通过对比字段关联 , A表有就更新A表数据 , 没有就插入到A表
–注 : ID在ORACLE是通过序列生成的
MERGE INTO 要更新或者插入数据的表 A USING (SELECT * FROM 对比的表) B ON(B.对比字段 = A.对比字段)
WHEN MATCHED THEN
UPDATE SET
A.更新字段 = B.更新字段,
…
WHEN NOT MATCHED THEN
INSERT (
A.插入字段,
…)
VALUES(
B.插入字段,
…);
commit;
如果需要和 WITH 一起使用 , 则将WITH 放到USING( WITH … )