请教SQL数据库表内修改数据编码的问题!

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:19:53
不好意思,我是新手,刚有30分,所有只能拿出20分请教!
请教:我需要修改数据库表中数据的编码,比如,原编码为 100 101 102……我现在需要改成100001 100002 100003…… 当然编码不一样,而且数据库里数据很多,达到100万条,我如何实现?
请教高手!
谢谢!!!
谢谢!
我是需要全部更新的!

看不懂 100 101 102…… 如何到100001 100002 100003…… 的 是否漏了100000

update 表名 set 字段 = '100'+convert(varchar(30),字段)

注意 这样是全部更新

楼主,请看过来,我的处理思路就是利用你现在表中的编号重新生成一个序列,利用临时表,然后反过来更新你的数据表,
请看下面的详细操作过程,你可以直接拷贝到查询分析器中,单步执行,就能明白我的这种做法

declare @a varchar(100),@b varchar(100),@c varchar(100),@d varchar(100),@e varchar(100)

--假定#b为你的要更改的数据表
create table #b
(num int)
--插入测试数据
set @a=101
while @a<999
begin
insert into #b(num)
select @a
set @a=@a+1
end

--#a是做中间过渡的表
create table #a
(num int,--字段为原表中的字段,如:101,102,103……
num2 int)--这是新的格式数据,如:100001,100002……

select @c=max(num),@d=min(num) from #b
--往#a中插入数据
set @e='100001'
--插入测试数据
while @d<=@c
begin
insert into #a(num,num2)
select @d,@e
set @d=@d+1
set @e=@e+1
end

--测试数据生成完成,你可以看看各个表的情况了,
select * from #a
select * from #b