加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

新旧系统切换中 资料内码 处理

发布时间:2018-08-23 18:43:23 所属栏目:站长百科 来源:站长网
导读:原系统 :MSSQL SERVER 7.0+DELPHI 新系统 :MSSQL SERVER 2000 + DELPHI 需要处理资料:spkfk(商品库房库) : (spid , //商品内码 pk spbh ,//商品编号 Unique index spmch ,//商品名称 shpgg ,//商品规格 dw ,//单位 shpchd //商品产地 ) 新系统中资料来

原系统 :MSSQL SERVER 7.0+DELPHI

新系统 :MSSQL SERVER 2000 + DELPHI

需要处理资料:spkfk(商品库房库) :

                         (spid , //商品内码 pk

                          spbh ,//商品编号 Unique index 

                          spmch ,//商品名称

                          shpgg ,//商品规格

                          dw , //单位

                         shpchd //商品产地  )



新系统中资料来源为原系统中 SPKFK ,  原系统中无 SPID 字段 , 需在导入时生成。

将旧系统业务数据库(dtx4) 附加到MSSQL2000中

执行如下操作:

use st70 --新系统业务数据库

declare @tran_point int 

set @tran_point=@@trancount  --获取系统事务数

if @tran_point=0   begin tran tran_c  --开始事务else  save tran tran_c  --设置事务保存点



declare @spid char(11) --定义变量set @spid='' 

declare @id  int  --定义 内码 数值变量

set @id = 0  --初始化 起始 值

select @spid as spid , spbh ,spmch ,shpgg , dw ,shpchd  into  #t1    --提取原系统中 商品信息from dtx40..spkfk

   if @@error<>0 goto err_lab

update #t1 set spid=@id ,@id=@id+1  -- 生成商品内码数值

   if @@error<>0 goto err_lab

update #t1 set spid='SPH' + REPLICATE('0',8-len(ltrim(rtrim(spid))))+ltrim(rtrim(spid)) --生成商品内码(商品内码为:SPHxxxxxxxxx)          if @@error<>0 goto err_lab

delete from spkfk  --清空 目的表         if @@error<>0 goto err_lab

insert into spkfk(spid , spbh , spmch ,shpgg ,dw ,shpchd)  --将数据插入到目的表select spid , spbh , spmch ,shpgg ,dw ,shpchd from #t1

      if @@error<>0 goto err_lab

drop table #t1

if @tran_point=0  goto returnlb 

err_lab:       rollback tran tran_c  --取消事务

returnlb:       commit tran tran_c   --提交事务



以上为商品资料的内码处理,其他资料同上。      

















  










(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读