我必须在应用程序中查看具有数十万条记录的表。出于明显的原因,我不想一次全部检索它们。
约定是使存储过程查询数据库表,因此我的计划是使存储过程返回记录间隔(例如记录2000到3000)。我知道使用嵌套查询来检索一系列记录的技巧TOP,但据我所知,您无法参数化参数to TOP。
TOP
它将与DataTableC#应用程序中的数据集和s结合使用。
DataTable
我应该怎么做?
您可以在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