sqlsqlserver实现类似mysql中replaceinto功能/*
MySQL
replace into 跟 insert 功能类似,不同点在于:replace into ⾸先尝试插⼊数据到表中
1、如果发现表中已经有此⾏数据(根据主键或者唯⼀索引判断)则先删除此⾏数据,然后插⼊新的数据。
tabletime2、否则,直接插⼊新数据。
*/
Replace into table(id, update_time) values(1, now())
/*
MSSQL(2008+)
判断t_B记录在T_A就更新,否则就插⼊
*/
Merge Into table As a
Using (select1As id,getdate() As update_time) as b on a.id=b.id
When Matched then
update set a.update_time=b.update_time
When Not Matched then
Insert(id,update_time) values(b.id,b.update_time);
--MySQL的
Replace into Table(id, update_time)
Select id,update_time From Other
--MSSQL的
Merge Into Table As a
Using (Select id,update_time From Other) as b on a.id=b.id
When Matched then
update set a.update_time=b.update_time
When Not Matched then
Insert(id,update_time) values(b.id,b.update_time);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论