Microsoft SQL Server 2008 R2
我正在运行一个可能需要数小时才能完成的大型SQL选择查询 . 所以我尝试将查询结果分解为更小的集合 .
例如,首先返回结果1-10,000,然后返回10,001 - 20000,依此类推
我使用下面的代码,但它给了我错误
SELECT *
FROM PP_ConsolidatedSalesView
WHERE financial_period = '2018-11'
ORDER BY id
OFFSET 10000 ROWS
FETCH NEXT 10000 ROWS ONLY
我使用循环来动态更改偏移量并获取下一个值 .
错误消息是:
'OFFSET'附近的语法不正确
有谁知道为什么?还有替代解决方案吗?
1 回答
可以请确认数据库兼容级别 . SQL Server 2012中存在偏移量 . 如果数据库是2008兼容模式,则关键字不可用 .
你可以检查如下:
更多信息:Incorrect syntax near OFFSET command