日期:2014-05-18  浏览次数:20561 次

这种sql 更新很简单吗?
今天心情好   做数据填充   就是造假数据   遇到了一个问题   请教高手~
ps:

CREATE   TABLE   [AA]   (
[id]   [bigint]   IDENTITY   (1,   1)   NOT   NULL   ,
[id1]   [int]   NULL   ,
[id2]   [int]   NULL   ,
CONSTRAINT   [PK_AA]   PRIMARY   KEY     CLUSTERED  
(
[id]
)     ON   [PRIMARY]  
)   ON   [PRIMARY]
GO


insert   into   AA(id1,id2)   values(   '1 ', '1 '   )
insert   into   AA(id1,id2)   values(   '2 ', '1 '   )
insert   into   AA(id1,id2)   values(   '3 ', '1 '   )
insert   into   AA(id1,id2)   values(   '4 ', '1 '   )
insert   into   AA(id1,id2)   values(   '5 ', '1 '   )
insert   into   AA(id1,id2)   values(   '6 ', '1 '   )
insert   into   AA(id1,id2)   values(   '7 ', '1 '   )

……
....................................................
在表AA中   我突然觉得   id2   字段里面的数据需要改变
由于数据太多   手动很麻烦   就像用语句来修改数据将id2
中的字段变成(比如)有序的1234567
传统的我觉得应该这样写
///////////////////////////////////
declare   @i   int  
set   @i=1
while   @i <=1
begin
update   AA   set   id2   =@i
set   @i=@i+1
end
////////////////////////

可这样写好像在添加数据以前就循环完了   不id2
全是7777777

遇到这种情况   你们怎么办     呵呵

------解决方案--------------------
declare @i int
set @i=0
update tablename set id2=@i,@i=@i+1