项目升级的诟病---迁移数据(表名 字段 规则 各不同)

 1 --第一步,数据库数据迁移
 2 --说明
 3 --截取filename的字符串
 4 --select  SUBSTRING(filename,13,LEN(filename)) as aa from 老数据库表名
 5 --select REPLACE( SUBSTRING(filename,13,LEN(filename)) ,'.doc','')as aa from 老数据库表名
 6   insert into [新数据库名称].[dbo].[新数据库表名] 
 7   (audituserName,ID,UnitID,Year,Quarter,FileName,Status,ReportTime,CreateTime)
 8   (select filename, id,ar,upyear,quarter,REPLACE( SUBSTRING(filename,13,LEN(filename)) ,'.doc',''),tmp_xzstate,jointime,at from [老数据库名称].[dbo].[老数据库表名])
 9 --第二步,修改匹配UnitID
10 --select case UnitID
11 --     when '淳安县' then 'JDC0000000780'
12 --     when '富阳市' then 'JDC0000000801'
13 --     when '高新(滨江)区' then 'JDC0000000742'
14 --     when '拱墅区' then 'JDC0000000733'
15 --     when '杭州市' then 'JDC0000000014'
16 --     when '建德市' then 'JDC0000000795'
17 --     when '江干区' then 'JDC0000000716' 
18 --     when '经济技术开发区' then 'JDC0000000907'
19 --     when '临安市' then 'JDC0000000818'
20 --     when '上城区' then 'JDC0000000699'
21 --     when '桐庐县' then 'JDC0000000760'
22 --     when '西湖区' then 'JDC0000000721'
23 --     when '下城区' then 'JDC0000000702'
24 --     when '萧山区' then 'JDC0000000753'
25 --     when '余杭区' then 'JDC0000000774'
26 --else UnitID end
27 --from 新数据库表名
28 update 新数据库表名 set UnitID=case UnitID
29                       when '淳安县' then 'JDC0000000781'
30                       when '富阳市' then 'JDC0000000802'
31                       when '高新(滨江)区' then 'JDC0000000743'
32                       when '拱墅区' then 'JDC0000000734'
33                       when '杭州市' then 'JDC0000000015'
34                       when '建德市' then 'JDC0000000796'
35                       when '江干区' then 'JDC0000000717' 
36                       when '经济技术开发区' then 'J0000000908'
37                       when '临安市' then 'JDC0000000819'
38                       when '上城区' then 'JDC0000000690'
39                       when '桐庐县' then 'JDC0000000761'
40                       when '西湖区' then 'JDC0000000722'
41                       when '下城区' then 'JDC0000000703'
42                       when '萧山区' then 'JDC0000000754'
43                       when '余杭区' then 'JDC0000000775'
44                       else UnitID end 
45  where UnitIDList is null
46 --第三步,修改UnitIDList
47 --select 'J000000068,'+UnitID as aa from 新数据库表名
48   update 新数据库表名 set UnitIDList= 'JDC00000006800,'+UnitID where UnitIDList is null
49 --第四步,匹配修改文件路径
50 --select '/FileUpload/20160411-复制老数据/'+audituserName from 新数据库表名
51 --where userName is null
52   update 新数据库表名 set UploadFile= '/FileUpload/20160411-复制老数据/'+audituserName 
53   where userName is null
54 --第五步,ReportSource全部更新为2
55   update 新数据库表名 set ReportSource='2' where userName is null
56 --第六步,audituserName 还原为空
57   update 新数据库表名 set audituserName = null
58 --第七步,手动修改filename的中的部分内容
59 --第八步,删除杭州市的一条数据
60   delete from 新数据库表名 where ID='888'
61 --第九步,把原项目的文件拷贝到新的文件路径下  

补充:由于BOSS考虑到文件路径 读取 出现中文,部分浏览器出现未知错误问题,特修改UploadFile路径,即替换掉“
-复制老数据”,如下所示

     --select REPLACE(UploadFile,'-复制老数据','olddata') from Data_Quarterly where userName is null

      update 新数据库表名 set UploadFile=REPLACE(UploadFile,'-复制老数据','olddata')
      where userName is null

      知识点:REPLACE(字段,待替换的字符串,替换后的字符串)

重点修改 匹配核查不同的状态结构:
 1  --重点修改 匹配核查不同的状态结构
 2  --操作一  查找老数据表的id可修改的部分  
 3  --status=1
 4   select * from  老数据库表名 where tmp_xzstate=1 and tmp_state=0--67
 5   select * from  老数据库表名 where tmp_state=1 --74
 6   --status=2
 7   --where tmp_state=1 
 8     select  ID11=(
 9             STUFF(
10             (select ','+Convert(varchar(50),id) from 老数据库表名 where tmp_state=1 for xml path('')),1,1,'')
11             )
12       from  老数据库表名 where tmp_state=1   
13      
14 --操作二 新数据库表的更新      
15        select * from 新数据库表名 where userName is null 
16       and ID in(33,15,16,21,24,25,27,28,29,30,31,34,35,40,61,63,65,67,69,19,13,26,32,43,55,66,48,56,64,68,74,75,79,89,91,92,95,96,97,99,101,106,107,113,114,77,80,90,93,108,115,116,172,161,162,164,165,166,167,168,169,171,175,177,178,179,182,184,112,160,170,174,110,176)
17       update 新数据库表名 set Status=2 where userName is null 
18       and ID in(33,15,16,21,24,25,27,28,29,30,31,34,35,40,61,63,65,67,69,19,13,26,32,43,55,66,48,56,64,68,74,75,79,89,91,92,95,96,97,99,101,106,107,113,114,77,80,90,93,108,115,116,172,161,162,164,165,166,167,168,169,171,175,177,178,179,182,184,112,160,170,174,110,176)

 



说明:
  1、项目升级,字段的问题,能不要接手就不要接手,头疼;
  2、迁移数据,千万不要想着手动、肉眼式的更改数据(Ctrl+C,Ctrl+V),自己浪费了时间,还得被别人嘲讽;
  3、本次修改的收获:
            1)数据库数据迁移、截取字符串等基础的加强;
            2)逻辑性要清晰,利用好所有的字段,切记避免多次没有必要的操作
            3)及时记录操作和本次的经历,书写成档。

 

posted @ 2016-04-11 14:43  ℃7O八落~的点滴  阅读(899)  评论(0编辑  收藏  举报