一个简单的sql语句 解决后马上散分 谢谢大家了 在线等
我要做的只有一步   就是让每次循环前   where   row=@i中的@i自动+1   可是我这样写   @i的值   送不进去   请问该如何解决?   
 	set   @i=1  	 
 	declare   cur_tmp1   cursor   for      
 	select   subj_code,flag,row 
                                           from   ht_code_flag_table    
 	where   row=@i     	 
 	open   cur_tmp1 
 	fetch   next   from   cur_tmp1   into   @subj_code,@flag,@row 
 	while   (@@fetch_status   =0)  	 
 	begin  	 
 	print   @subj_code     	 
 	fetch   next   from   cur_tmp1   into   @subj_code,@flag,@row 
 	set   @i=@i+1  	  	  	 
 	end 
 	close   cur_tmp1 
 	deallocate   cur_tmp1
------解决方案--------------------set @i=1  	 
     while @i  <=MAX.. 
     BEGIN 
 	    declare cur_tmp1 cursor for  
 	    select subj_code,flag,row 
                   from ht_code_flag_table  
 	    where row=@i       	 
 	    open cur_tmp1 
 	    fetch next from cur_tmp1 into @subj_code,@flag,@row 
 	    while (@@fetch_status =0)      	 
 	    begin      	 
 	    print @subj_code       	 
 	    fetch next from cur_tmp1 into @subj_code,@flag,@row 
 	    set @i=@i+1      	      	      	 
 	    end 
 	    close cur_tmp1 
 	    deallocate cur_tmp1 
     END
------解决方案--------------------declare @row int  
 set @i=1  	 
 select @row = max(row) from ht_code_flag_table    
 while @row > = @i 
 begin 
 	declare cur_tmp1 cursor for  
 	select subj_code,flag,row 
               from ht_code_flag_table  
 	where row=@i   	 
 	open cur_tmp1 
 	fetch next from cur_tmp1 into @subj_code,@flag,@row 
 	while (@@fetch_status =0)  	 
 	begin 
 		print @subj_code 	 
 		fetch next from cur_tmp1 into @subj_code,@flag,@row 
 	end 
 	close cur_tmp1 
 	deallocate cur_tmp1 
 	set @i = @i + 1 
 end
------解决方案--------------------这样改吧   
          set @i=1           	 
 	select @subj_code=subj_code,@flag=flag,@row=row 
               from ht_code_flag_table  
 	where row=@i  
 	while @@rowcount> 0 
 	begin  	 
 	print @subj_code   	 
 	set @i=@i+1  	  	  	 
 	end     
------解决方案----------------------lz想取得从1开始的连续subj_code,这个需求不需要用游标 
 SET @i=1 
 WHILE EXISTS (SELECT 1 FROM ht_code_flag_TABLE WHERE row=@i) 
 BEGIN  
 	SELECT @subj_code=subj_code 
 	FROM ht_code_flag_table  
 	WHERE row=@i  	 
 	PRINT @subj_code   
 	SET @i=@i+1 
 END