MSSQL 插入數據時候,如果存在則更新的方法分享



摘要:
下文講述MSSQL中,插入數據時,如果存在則更新,否則就插入數據的方法分享
實驗環境:sql server 2017 
mssql中,我們可以采用 MERGE INTO 關鍵字實現此功能,
當兩者匹配成功,則運行***語句,否則運行其它語句,達到插入數據時的判斷操作,
具體操作方法如下所示: 

create table [maomao365.com]
(keyId int identity,
info varchar(80)
)
go
insert into [maomao365.com]
(info)values('sqlblog'),
('sqlserver'),('maomao365.com')

---merge into實現如果存在,則更新
---如果不存在,則刪除
MERGE INTO [maomao365.com] a
USING (SELECT 2 AS keyId_B, 'other' AS info_B ) b 
ON ( a.keyId = b.keyId_B)

WHEN MATCHED THEN
UPDATE SET a.info= b.info_B --更新

WHEN NOT MATCHED THEN
INSERT (info) VALUES(b.info_B); ---插入

go
select * from [maomao365.com]
go
MERGE INTO [maomao365.com] a
USING (SELECT 20 AS keyId_B, 'new Info' AS info_B ) b 
ON ( a.keyId = b.keyId_B)

WHEN MATCHED THEN
UPDATE SET a.info= b.info_B --更新

WHEN NOT MATCHED THEN
INSERT (info) VALUES(b.info_B); ---插入
go

select * from [maomao365.com]
go
truncate table [maomao365.com]
drop table [maomao365.com]

轉自:

 http://www.maomao365.com/?p=9679

相關閱讀:

merge關鍵字實現增刪改


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM