merge语句与update语句的功能类似,都是修改数据表中数据的,但是也有区别。

使用merge语句可以对数据表同时进行增加和修改操作。

具体语法如下:

 merge [into] table_name1 USING table_name2 ON (condition)

WHEN MATCHED THEN merge_update_clause

WHEN NOT MATCHED THEN merge_insert_caluse;

--table_name1:要修改或要添加的表名

--table_name2:参照更新的表

--condition : 俩表之间的关系或者其他的一些条件

--merge_update_clause:如果和参照表table_name2中的条件匹配,就执行更新的操作语句

--merge_insert_clause:如果不匹配,则执行增加的语句。

例子:

merge into login using managerinfo on (login.loginid=managerinfo.managerid)

when matched then update  set login login.name=managerinfo.name

when not matched then insert value(.....)