盆盆罐罐

上海邦麦信息科技有限公司旗下子网站;POS系统、计算机技术资料搜集

通过外部数据更新启谋商品属性的思路

Excel表格中有商品的国际条码、品名、价格等信息,如何通过这个Excel表来更新启谋数据库中此条码对应商品的价格等信息呢?

大致步骤如下:

  1. 将Excel表数据转换为SQL语句
  2. 启谋数据库中建立临时表
  3. 执行转换得到的SQL语句将外部数据写入临时表
  4. 执行语句实现多表更新

Excel转换后的语句大致如下:

insert into tt(aa,bb,cc,dd,ee)values(6926166100924,'个',5.5,8.8,8.4);
insert into tt(aa,bb,cc,dd,ee)values(2000031651996,'个',6.5,10.4,10.0);
insert into tt(aa,bb,cc,dd,ee)values(6942467451176,'个',3.1,5.0,4.8);

Excel数据转换为SQL语句是有几点要注意:

  • 非数字类型的列,比如商品规格、商品名称等要用单引号框起来,否则执行SQL语句的时候会出错。(Excel中没有办法加左边的单引号,不过可以粘贴到txt文本文档中后使用替换功能实现。)
  • Excel数据转换为SQL语句后将包含很多tab分隔符,同样要使用Notepad++的替换功能批量删除。

这里推荐使用Notepad++来处理txt文本文档,比系统自带的记事本程序好用太多,并且它是开源软件。

update命令实现多表更新的语句:

update a set a.unit_no=b.bb,a.price=b.cc,a.sale_price=b.dd,a.vip_price=b.ee
from bi_t_item_info a,tt b 
where a.item_subno=b.aa

参考链接:sql里的update实现多表更新

分类:数据库, 科脉

标签:, ,

对本文发表评论





1 + 6 = ?

注意:
1、请勿单纯发表顶啊、打酱油之类无任何意义的评论,否则将被视为spam!谢谢合作!
2、但欢迎你留下对本文的看法或技术上的任何疑问,我会及时回复你。