小编典典

存储过程返回特定的记录间隔

sql

我必须在应用程序中查看具有数十万条记录的表。出于明显的原因,我不想一次全部检索它们。

约定是使存储过程查询数据库表,因此我的计划是使存储过程返回记录间隔(例如记录2000到3000)。我知道使用嵌套查询来检索一系列记录的技巧TOP,但据我所知,您无法参数化参数to
TOP

它将与DataTableC#应用程序中的数据集和s结合使用。

我应该怎么做?


阅读 173

收藏
2021-05-23

共1个答案

小编典典

您可以在SQL Server 2008中利用ROW_NUMBER。下面的查询将仅基于行号返回10行。

WITH Ordered AS (
SELECT ROW_NUMBER() OVER (ORDER BY OrderID) AS RowNumber, OrderID, OrderDate
FROM Orders)
SELECT * 
FROM Ordered
WHERE RowNumber BETWEEN 21 AND 30
2021-05-23