导入数据时, 存在的更新, 不存在的插入
程序员文章站
2022-06-09 18:52:29
...
导入数据时, 存在的更新, 不存在的插入 无 CREATE?trigger?tr_bank3?ON?bank3AFTER?INSERTAS??????Update?bank1?set?bank1.fmoney=bank1.fmoney+c.a???????From?????????(select?fid,sum(case?when?TYPE=0?then?fmoney?when?type=1?then?-fmoney?end)?as?a?Fr
导入数据时, 存在的更新, 不存在的插入CREATE?trigger?tr_bank3?ON?bank3 AFTER?INSERT AS ? ? ????Update?bank1?set?bank1.fmoney=bank1.fmoney+c.a? ??????From? ????????(select?fid,sum(case?when?TYPE=0?then?fmoney?when?type=1?then?-fmoney?end)?as?a?From?bank3?group?by?Fid)?C? ????where? ????????C.FID=bank1.FID? ????????AND?EXISTS(SELECT?1?FROM?INSERTED?WHERE?Fid=bank3.Fid)) ? ????insert?into?bank1? ????select? ????????fid, ????????sum(case?when?TYPE=0?then?fmoney???when?type=1?then?-fmoney?end)?as?a? ????from? ????????bank3?AS?a ????WHERE? ????????EXISTS(SELECT?1?FROM?INSERTED?WHERE?Fid=a.Fid) ????AND? ????????NOT?EXISTS(SELECT?1?FROM?bank1?WHERE?Fid=a.Fid) ????group?by?Fid
MERGE [target] t using [source] s on t.id = s.id when matched then update t.name = s.name, t.age = s.age -- use "rowset1" when not matched then insert values(id,name,age) -- use "rowset2" when source not matched then delete; -- use "rowset3"
上一篇: 修复断电等损坏的SQL 数据库
下一篇: 关于MySQL MyISAM 表并发
推荐阅读
-
mysql如果数据不存在,则插入新数据,否则更新的实现方法
-
mysql如果数据不存在,则插入新数据,否则更新的实现方法
-
MYSQL数据库导入数据时出现乱码的解决办法
-
微信昵称带符号导致插入MySQL数据库时出错的解决方案
-
mysql 存在该记录则更新,不存在则插入记录的sql
-
在ASP.NET 2.0中操作数据之十七:研究插入、更新和删除的关联事件
-
MYSQL数据库导入数据时出现乱码的解决办法
-
Springboot上传excel并将表格数据导入或更新mySql数据库的过程
-
BarTender怎么给二维码导入logo图表? BarTender数据库字段动态插入图片的教程
-
Linq to SQL 插入数据时的一个问题