merge into

oracle的merge into 的用法

折月煮酒 提交于 2020-03-02 19:18:29
使用背景: ORACLE 数据操作的时候,需要通过一个表去 UPDATE/INSERT 更新另一个表的数据,就可以使用 MERGE INTO 语法了。 这是 ORACLE9i 新加入的语法。 语法: MERGE INTO 表名 A USING (表、视图、查询语句) B ON (条件) WHEN MATCHED THEN UPDATE SET A.col1 = B.col_val1, A.col2 = B.col_val2 WHEN NOT MATCHED THEN INSERT (A.column_list) VALUES (B.column_values); 示例: 1.USING(表) MERGE INTO a08 a USING a08_temp t ON (a.a0800 = t.a0800) WHEN MATCHED THEN UPDATE SET a.A0000=t.A0000,a.A0801A=t.A0801A where t.imprecordid=impid WHEN NOT MATCHED THEN INSERT (a.A0000,a.A0800) VALUES (t.A0000,t.A0800) where t.imprecordid=impid; 2.USING(查询语句) MERGE INTO table_name T1 USING (SELECT '1