@@FETCH_STATUS
返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。返回值 描述 
0 FETCH 语句成功。 
-1 FETCH 语句失败或此行不在结果集中。 
-2 被提取的行不存在。 

解决方案 »

  1.   

    http://blog.csdn.net/zjcxc/archive/2007/05/12/1606109.aspx参考我的 blog:
    选择合适的游标类型 
      

  2.   

    很长,几百行,此外是公司的产品内的软件代码,也不方便贴出请教各位:这种游标循环是根据@@fetch_status的值,也就是说退出循环的时候
    @@fetch_status<>0 ,@@fetch_status<>0可能是游标到底了,也有可能是
    Fext Next取值失败了。那造成这种Fetch失败可能是因为什么呢?有什么写法可以让这个循环跳过有问题的地方
      

  3.   

    我的语句大概是这样:
    -- 取得审查记录
    -- 找到本次审查的员工及每个员工的审查日期
    DECLARE review_cursor CURSOR FOR
    SELECT serialnumber,begindate,enddate FROM #rev_emp 
    OPEN review_cursor
    FETCH NEXT FROM review_cursor INTO @serialnumber,@begindate,@enddate-- 开始一批员工的审查(每个员工,一段开始时间,一段结束时间)
    WHILE(@@FETCH_STATUS=0)
    BEGIN
    END
      

  4.   

    --   取得审查记录 
    --   找到本次审查的员工及每个员工的审查日期 
    DECLARE   review_cursor   CURSOR   FOR 
    SELECT   serialnumber,begindate,enddate   FROM   #rev_emp   
    OPEN   review_cursor 
    FETCH   NEXT   FROM   review_cursor   INTO   @serialnumber,@begindate,@enddate 
    --   开始一批员工的审查(每个员工,一段开始时间,一段结束时间) 
    WHILE(@@FETCH_STATUS=0) 
    BEGIN 
       --开始具体某个员工的审查 OPEN ioimport_cursor FETCH NEXT FROM ioimport_cursor INTO 
           @AutoID,@regwktime,@NowAttDate,@Absent2Hour,@att_flag,@latearrive,@earlyleave,@workhourid
    WHILE(@@FETCH_STATUS=0)
    BEGIN                 FETCH NEXT FROM ioimport_cursor INTO 
           @AutoID,@regwktime,@NowAttDate,@Absent2Hour,@att_flag,@latearrive,@earlyleave,@workhourid

                    END
       FETCH   NEXT   FROM   review_cursor   INTO   @serialnumber,@begindate,@enddate 
    END