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(.....)