首页 > 解决方案 > DB Cursor FETCH NEXT 可以工作,但 FETCH FIRST 不能

问题描述

由于一些复杂的工作,我求助于使用数据库游标。我还必须不止一次地从头到尾遍历表中的合格记录。当我到达表中的最后一条记录时,我会将光标再次重置到表的开头以进行下一次传递。

但是,FETCH NEXT工作正常,如果我尝试FETCH FIRST,我得到一个错误:@@FETCH_STATUS = -1。我的光标有什么问题?

FETCH FIRST db_cursor INTO @VendorId, @VendorCount

诗句

FETCH NEXT FROM db_cursor INTO @VendorId, @VendorCount

使用 SQL Server 2017。

标签: sqlsql-server

解决方案


滚动效果很好

    DECLARE db_cursor CURSOR 
    SCROLL
    FOR
    SELECT VendorId, VendorCount
    FROM #venderData t
    WHERE PageIndex IS NULL
    ORDER BY VendorCount DESC;

推荐阅读