再现理想 发表于 2015-1-16 22:40:56

MSSQL网页编程之新旧体系切换中 材料内码 处置

恢复到之前的某个状态,是需要数据的。这数据可以是a)回滚步骤或者b)操作之前的数据状态原文。
原体系:MSSQLSERVER7.0+DELPHI

新体系:MSSQLSERVER2000+DELPHI

必要处置材料:spkfk(商品库房库):

(spid,//商品内码pk

spbh,//商品编号Uniqueindex

spmch,//商品称号

shpgg,//商品规格

dw,//单元

shpchd//商品产地)



新体系中材料来历为原体系中SPKFK,原体系中无SPID字段,需在导进时天生。

将旧体系营业数据库(dtx4)附加到MSSQL2000中

实行以下操纵:

usest70--新体系营业数据库

declare@tran_pointint

set@tran_point=@@trancount--猎取体系事件数

if@tran_point=0begintrantran_c--入手下手事件elsesavetrantran_c--设置事件保留点



declare@spidchar(11)--界说变量set@spid=

declare@idint--界说内码数值变量

set@id=0--初始化肇端值

select@spidasspid,spbh,spmch,shpgg,dw,shpchdinto#t1--提取原体系中商品信息fromdtx40..spkfk

if@@error0gotoerr_lab

update#t1setspid=@id,@id=@id+1--天生商品内码数值

if@@error0gotoerr_lab

update#t1setspid=SPH+REPLICATE(0,8-len(ltrim(rtrim(spid))))+ltrim(rtrim(spid))--天生商品内码(商品内码为:SPHxxxxxxxxx)if@@error0gotoerr_lab

deletefromspkfk--清空目标表if@@error0gotoerr_lab

insertintospkfk(spid,spbh,spmch,shpgg,dw,shpchd)--将数据拔出到目标表selectspid,spbh,spmch,shpgg,dw,shpchdfrom#t1

if@@error0gotoerr_lab

droptable#t1

if@tran_point=0gotoreturnlb

err_lab:rollbacktrantran_c--作废事件

returnlb:committrantran_c--提交事件



以上为商品材料的内码处置,其他材料同上。




























支持多种存储引擎。

蒙在股里 发表于 2015-1-19 21:12:40

SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。

冷月葬花魂 发表于 2015-1-25 11:03:25

多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。

分手快乐 发表于 2015-2-8 07:33:27

数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。

再现理想 发表于 2015-2-25 00:17:30

sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西

小妖女 发表于 2015-3-7 14:41:01

是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。

小女巫 发表于 2015-3-15 07:41:09

相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐

若天明 发表于 2015-3-21 21:59:00

sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
页: [1]
查看完整版本: MSSQL网页编程之新旧体系切换中 材料内码 处置