使用merge合并行

【应用场景:】要实现比较两个表的某个列的数据的差异,然后根据比较结果的是否相同(WHEN MATCHED表示匹配上)进行相应的操作,采用Oracle系统的MERGE语句可以实现。
【语句实例】

MERGE INTO products p
USING newproducts np  ON (
 p.product_id = np.product_id 
)WHEN MATCHED THEN 
UPDATE SET p.product_name= p.product_name, p.category = np.category
WHEN NOT MATCHED THEN 
INSERT   VALUES (np.product_name,  np.product_name, np.category )  ;

【语句结构:】
MERGE INTO 要操作的目的表
USING 指定的表连接 ON(条件)
WHEN MATCHED THEN UPDATE SET 条件匹配时(目的表中有数据了)更新
WHEN NOT MATCHED THEN INSERT 条件不匹配时(目的表中无数据)插入

我最常用的是

MERGE INTO products p
USING (select column1,coumn2 from newproducts ) np
上一篇:case when xxx then xxx when xxx then xxx ... else xxx end


下一篇:POJ1017 Packets---贪心