我的确是更改了 while @@fetch_status=0,上面的帖子写错了,但是还是多做了一条空记录

解决方案 »

  1.   

    第一个
    fetch next from mfgmatreccursor
    错了
    改为
    Fetch first from mfgmatreccursor into 订单号,采购单行号,库存项目,仓库,箱柜,数量,接收人,接收日期
      

  2.   

    fetch: 提取类型 first 不能用于只进游标。
    出现了上述错误
      

  3.   

    fetch absolute 1 from mfgmatreccursor
    while (@@fetch_status=0)
    Begin
        fetch next from mfgmatreccursor
    End
      

  4.   


    (所影响的行数为 4 行)服务器: 消息 16911,级别 16,状态 1,行 3
    fetch: 提取类型 absolute 不能用于只进游标。(所影响的行数为 1 行)
      

  5.   

    你的这种情况是没有办法避免的
    因为必须要FETCH一次才能判断游标的状态
    如果你读入变量的则可以避免,比如declare mfgmatreccursor cursor
      forward_only
      for select 订单号 from mfgmatrectrans  -- dk had modified at ...
      for read only
    go
     open mfgmatreccursor
    go
    declare @_a
     fetch next from mfgmatreccursor into @_a
     while (@@fetch_status<>-1)
     Begin
       select @a
       fetch next from mfgmatreccursor
     End
    go
    close mfgmatreccursor
    deallocate mfgmatreccursor