日期:2014-05-19  浏览次数:20447 次

游标的使用...
Declare   Cur   Cursor   For  
        Select   CK_CKBH,WZM_MXBH,Temp_RKSL,Temp_RKDJ,Temp_RKSJ,RKF_FSBH   From   RKTemp     Where   CK_CKBH   =   @CK_CKBH   AND   RKF_FSBH   =   @RKF_FSBH   and   DX_DXBH=@DX_DXBH
    Open     Cur
    Fetch   Cur   Into   @CK_CKBH,@WZM_MXBH,@Temp_RKSL,@Temp_RKDJ,@Temp_RKSJ,@RKF_FSBH
    While   @@Fetch_Status   =   0
    Begin
            Select   @RKM_MXBH   =   ISNULL(Max(RKM_MXBH),0)   +   1   From   RKMXB   Where     RK_RKBH   =@RK_RKBH
          Select   @CKK_KCBH   =ISNULL(Max(CKK_KCBH),0)+1   From   CKKCB
            Insert     into   RKMXB(RK_RKBH,RKM_MXBH,CK_CKBH,WZM_MXBH,RKM_RKSL,RKM_RKDJ,RKM_RKJE,RKM_RKSJ)
                  Values(@RK_RKBH,@RKM_MXBH,@CK_CKBH,@WZM_MXBH,@Temp_RKSL,@Temp_RKDJ,@Temp_RKSL*@Temp_RKDJ,@Temp_RKSJ)

          if   not   exists(select     *   from   CKKCB   where   CK_CKBH=@CK_CKBH   and   WZM_MXBH=@WZM_MXBH)
                Insert     into   CKKCB(CKK_KCBH,CK_CKBH,WZM_MXBH,CKK_KCSL,CKK_DJ,CKK_JE)
                              Values(@CKK_KCBH,@CK_CKBH,@WZM_MXBH,@Temp_RKSL,@Temp_RKDJ,@Temp_RKSL*@Temp_RKDJ)
          else
                update   CKKCB   set   CKK_KCSL=CKK_KCSL+@Temp_RKSL   where   CK_CKBH=@CK_CKBH   and   WZM_MXBH=@WZM_MXBH

            Fetch   Cur   Into   @CK_CKBH,@WZM_MXBH,@Temp_RKSL,@Temp_RKDJ,@Temp_RKSJ,@RKF_FSBH
    end
    close   Cur
    Deallocate   Cur   --关闭游标


这是一个游标的使用,其中有两句相同的
Fetch   Cur   Into   @CK_CKBH,@WZM_MXBH,@Temp_RKSL,@Temp_RKDJ,@Temp_RKSJ,@RKF_FSBH
我想知道第二句的作用是什么意思?
谢谢了....


------解决方案--------------------
把结果集中下一条记录的字段赋值给变量,即对结果集进行遍历。
------解决方案--------------------
取下一条记录,跟While @@Fetch_Status = 0配合,完成循环