首页 > 开发 > 综合 > 正文

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

2024-07-21 02:05:35
字体:
来源:转载
供稿:网友

原系统 :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 @[email protected]@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 [email protected] ,@[email protected]+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   --提交事务



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

















  










注册会员,创建你的web开发资料库,
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表