SQL批量更新数据

SQL批量更新数据
step1:导入Excel数据,

具体见百度。注意点:一列中含有float型数据和文本数据的时候,导入要将Excel中的表格属性改为文本,或在数字项目前加个单引号。get

 
step2:更新相同数据,联表查询更新数据
update tbparts set pdlprice=pprice from tbparts inner join tb2017 on tbparts.psn=tb2017.sn
 
step3:插入新增数据
 
3.1:SN导入后是Float型,须要转换成varchar。用cast转换能够,convert无论用。
update tb2017 set csn=CAST(CAST(sn AS DECIMAL(20,0)) AS VARCHAR(50))
 
3.2:批量导入新增数据
INSERT INTO [TBParts] ([PSN],[PName],[PState],[PDLPrice],[PMPrice],[PCreateTime],[PKState],[PType])
     select csn,pdesc,0,pprice,pprice,getdate(),'库存件' ,''from tb2017 where sn not in (select psn from tbparts )
 
step4:删除多余数据
delete from  tbparts where psn not in (select sn from tb2017)