SQL语句 - MERGE INTO 用法

MERGE INTO table_name alias1 
USING (table|view|sub_query) alias2
ON (join condition) 
WHEN MATCHED THEN 
  UPDATE table_name 
   SET col1 = col_val1, 
     col2 = col2_val 
WHEN NOT MATCHED THEN 
  INSERT (column_list) VALUES (column_values);

 

理解:
在alias2中Select出来的数据,每一条都跟alias1进行 ON (join condition)的比较,如果匹配,就进行更新的操作(Update),如果不匹配,就进行插入操作(Insert)。
因此,严格意义上讲,"在一个同时存在Insert和Update语法的Merge语句中,总共Insert/Update的记录数,就是Using语句中alias2的记录数。"

posted on 2016-07-31 13:13  东篱南山  阅读(361)  评论(0编辑  收藏  举报

导航