SQL游标循环

/*Begin 定义的这些变量就是以下查出的结果的字段数,一一对应*/
DECLARE  @CID INT, @CNo NVARCHAR(64),@CName NVARCHAR(256),@DebtAmount DECIMAL;

BEGIN  -- 定义游标. 

DECLARE Vernier_Main CURSOR FAST_FORWARD FOR 

 /*Begin 这里是查出来要进行循环的内容*/
SELECT CID,CNo,CName,DebtAmount FROM CTABLE 

/*End*/
 
 -- 打开游标.
 OPEN Vernier_Main; 
  /*Begin 下面可以写语句要对上面循环出来的内容进行动作*/
 WHILE 1=1 
 BEGIN  
   -- 填充数据.  
   FETCH NEXT FROM Vernier_Main INTO @CID, @CNo,@CName,@DebtAmount; 
    -- 假如未检索到数据,退出循环. 
    IF @@fetch_status!= 0 BREAK;  
  
  /*Begin 这里就可以写SQL语句*/
  /*End*/

  SET @errorSum = @errorSum + @@ERROR

  END; 
  /*End*/
  -- 关闭游标
 CLOSE Vernier_Main;
 -- 释放游标.
 DEALLOCATE Vernier_Main;
END

posted @ 2013-05-21 16:14  Johan-Choi  阅读(220)  评论(0编辑  收藏  举报