当前位置: 代码迷 >> Sql Server >> 一个 小小的大有关问题 sql的update 小弟我懵了
  详细解决方案

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

热度:494   发布时间:2016-04-27 16:50:48.0
一个 小小的大问题 sql的update 我懵了~
declare   @i   int  
set   @i=1  
while   @i <=90  
begin  
update   conference12   set   type_code=   @i  
set   @[email protected]+1  
end  

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

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


------解决方案--------------------
当然都是90了,[email protected] 变为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 [email protected]
set @[email protected]+1
end

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