sql 更新语句的问题 高手帮忙看看。

来源:百度知道 编辑:UC知道 时间:2024/05/17 09:07:45
declare @i int @e varchar(50)
set @i = 0 while @i < 100 begin
set @e = right('000000' + cast(@i as varchar(50)),6)
update z_h
set id = @e end

为什么更新到字段里不时000001 000002 000003 000004 000005 000006...
而是 000100 这个数据呢!无法实现递增阿! 求求高手帮忙看看,小弟没学过SQL 不懂怎么回事 ,这段代码也是人家给我的。 求求拉
2 楼
那样只能以新数据的方式插入到表中 ,
如何才能把递增值插入到以存数据表的某个字段里。

1、你用的是update z_h set id = @e 这样只会保留最后一次的值
2、你的循环没有步进,也就是说是个死循环
3、如果用的是SQL SERVER的话,ID是保留字,得加上括号
可以改成这样的

declare @i int ,@e varchar(50)
set @i = 0 while @i < 100 begin
set @e = right('000000' + cast(@i+1 as varchar(50)),6)
insert into z_h([id])values(@e)
set @i = @i + 1
end
以上在SQL SERVER 2000下测试通过,如果是其它的数据库的话,请自行修改

没有set @i=@i+1不会死循环吗?居然还能正常运行呀?