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

一个 小小的大有关问题 sql的update 小弟我懵了

2012-03-20 
一个 小小的大问题 sql的update 我懵了~declare@iintset@i1while@i 90beginupdateconference12settype_

一个 小小的大问题 sql的update 我懵了~
declare   @i   int  
set   @i=1  
while   @i <=90  
begin  
update   conference12   set   type_code=   @i  
set   @i=@i+1  
end  

为什么我在库里看见更新的全部是90   ????汗水~

[解决办法]
declare @i int
set @i=1
while @i <=90
begin
update conference12 set type_code= @i
where 条件 --加个条件试试
set @i=@i+1
end


[解决办法]
当然都是90了,循环完后@i的值 变为90 ,再执行更新update conference12 set type_code= @i 所有的type_code 值都是90

[解决办法]
where没写,每次都全部更新。最后一次更新是90
[解决办法]
update语句执行了90次,每次的结果都不同,最后一次是90,这段代码的逻辑有问题
[解决办法]
跟ID
declare @i int
set @i=1
while @i <=90
begin
update conference12 set type_code= @i where id=@i
set @i=@i+1
end

这样ID和code都一样了。谁有好办法
[解决办法]
你先要说明下你的目的是什么啊.如果只是希望将每行的type_code字段依次改变,那么就插入一个临时字段然后用上面的方法哦
[解决办法]
是可以循环,可以你先把结果改成1,2....90,最后就是90了,中间的结果不可能留住的

热点排行