资源描述:
《转换数据-培训版.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、SISS培训数据转换培训1.需掌握的基本技能1.1.SQLSERVERDTS工具DTS工具是SQLSERVER本身自带的工具,用以将外部指定格式的数据导入到SQLSERVER相应的表中。目前主要掌握EXCEL方式的倒入,具体步骤如下:以下示例就是将DTS.XLS文件中的数据导入到HBPOSV7中的t_bd_item_info表中。7SISS培训7SISS培训然后一直点下一步直到完成7SISS培训注意事项:如果导入过程中报错,请根据实际情况来相应处理。本文后面会介绍一些常见的报错处理方法。1.1.SQLSERVER基本语法关键语法:掌
2、握select语句,update语句,insert语句。常用函数:convert,substring,left,right,isnumeric等。常用判断语句:判断空:columns=’’orcolumnsisnull判断重复:groupbycolumnshavingcount(columns)>1判断长度:datalength(columns)<=40判断数子:isnumeric(columns)=1注意insert语句掌握一下insertinto…select语句。2.数据转换过程.2.1.转换t_bd_supcust_info
3、注意事项:2.2.转换类别表t_bd_item_cls注意事项:7SISS培训1.1.转换t_bd_item_info1.1.1.建立临时表假设代理发来的基本商品资料我们只取货号,自编码,商品名称,商品简称,商品类别,供应商,进价,销售价格这几列.那么请将相应的EXCEL删除无用的列,并将这几列按顺序排列.然后进行下面的建立临时表操作.(A)--建立零时表tempitemselectitem_no,item_subno,item_name,item_subname,item_clsno,main_supcust,price,sale
4、_priceintotempitemfromt_bd_item_infowhere1=2接下来通过DTS将基本资料的EXCEL数据倒入到tempitem中.注意:在倒入的过程中如果有报错,则根据提示来修改tempitem的表结构。(B)导入数据后再对具体的字段进行检查.item_no:1.长度20字符2.不允许为空3.不允许重复--检查货号为空select*fromtempitemwhereitem_no=''oritem_noisnull--处理货号为空--方法一:直接删除deletetempitemwhereitem_no=''
5、oritem_noisnull--方法二:用item_subno更新item_noupdatetempitemsetitem_no=item_subnowhereitem_no=''oritem_noisnull--检查重复selectitem_nofromtempitemgroupbyitem_nohavingcount(*)>1--删除重复deletetempitemwhereitem_noin(selectitem_nofromtempitemgroupbyitem_nohavingcount(*)>1)item_clsno:
6、1.长度为6字符2.不允许为空3.是否所有的类别编号在类别表都有--检查类别编码为空select*fromtempitemwhereitem_clsno=''oritem_noisnull--处理类别编码为空修改为其它类别‘LB’7SISS培训updatetempitemsetitem_clsno='LB'wherewhereitem_clsno=''oritem_noisnull--检查类别编号是否存在selectdistinct(item_clsno)fromtempitemwhereitem_clsnonotin(select
7、item_clsnofromt_bd_item_clswhereitem_flag='0')main_supcust1.长度8字符2.不允许为空3.是否所有的供应商编号在供应商表中都存在--检查供应商编号是否为空select*fromtempitemwheremain_supcust=''ormain_supcustisnull--处理供应商编号为空的商品,修改成自行添加的一个供应商tempsup--tempsup是我们自行增加的用来处理临时的无供应商商品updatetempitemsetmain_supcust='tempsup'
8、wheremain_supcust=''ormain_supcstisnull--检查供应商编号是否存在selectdistinct(main_supcust)fromtempitemwheremain_supcustnotin(se