sql - 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。
解决方案
滚动效果很好
DECLARE db_cursor CURSOR
SCROLL
FOR
SELECT VendorId, VendorCount
FROM #venderData t
WHERE PageIndex IS NULL
ORDER BY VendorCount DESC;