首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

帮小弟我优化一下存储过程,谢了

2012-03-22 
帮我优化一下存储过程,谢了处理内容:为一个大概有8万条数据的工作表设定12位的code,有一些可能已经有12位

帮我优化一下存储过程,谢了
处理内容:
为一个大概有8万条数据的工作表设定12位的code,有一些可能已经有12位的code
处理过程:
1   从一个master中,根据TGPC取得9位的code
2   检查工作表中是否有以该9位code开始的12位code
3   如果有取最大值+1付给工作表
4   如果没有9位code+001付给工作表

实际的存储过程在下面

[解决办法]
太长了,简单看了看。提个意见哦

建议 1、将需要修改的数据提取出来放在临时表(存放主键id和新code,这一步生成id,增量)
select [id] as sid,identity (int ,1,1) as ident into #table_Pqs from .....
2、根据增量ident 生成新code,并修改即可(当然要先获取最大code然后操作)
最大@maxcode= '000000000012 '

update table_yours set code=right( '000000000000 '+cast(cast(@maxcode as int)+ident as varchar),12) from #table_Pqs where table_yours.主键字段=sid


热点排行
Bad Request.