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