摘要:
下文講述MSSQL中,插入資料時,如果存在則更新,否則就插入資料的方法分享
實驗環境:sql server 2017
mssql中,我們可以采用 MERGE INTO 關鍵字實作此功能,
當兩者匹配成功,則運行***陳述句,否則運行其它陳述句,達到插入資料時的判斷操作,
具體操作方法如下所示:
create table [maomao365.com](keyId int identity,info varchar(80))goinsert into [maomao365.com](info)values('sqlblog'),('sqlserver'),('maomao365.com')---merge into實作如果存在,則更新---如果不存在,則洗掉MERGE INTO [maomao365.com] aUSING (SELECT 2 AS keyId_B, 'other' AS info_B ) b ON ( a.keyId = b.keyId_B)WHEN MATCHED THENUPDATE SET a.info= b.info_B --更新WHEN NOT MATCHED THENINSERT (info) VALUES(b.info_B); ---插入goselect * from [maomao365.com]goMERGE INTO [maomao365.com] aUSING (SELECT 20 AS keyId_B, 'new Info' AS info_B ) b ON ( a.keyId = b.keyId_B)WHEN MATCHED THENUPDATE SET a.info= b.info_B --更新WHEN NOT MATCHED THENINSERT (info) VALUES(b.info_B); ---插入goselect * from [maomao365.com]gotruncate table [maomao365.com]drop table [maomao365.com]
轉自:
http://www.maomao365.com/?p=9679
相關閱讀:
merge關鍵字實作增刪改
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/41463.html
標籤:SQL Server
