CREATE PROC GetCustomersByPage
@PageSize int, ----页大小
@PageNumber int ----页码
AS
Declare @RowStart int
Declare @RowEnd int
if @PageNumber > 0
Begin
SET @PageNumber = @PageNumber -1
SET @RowStart = @PageSize * @PageNumber + 1;
SET @RowEnd = @RowStart + @PageSize - 1 ;
With Cust AS (
SELECT FID, FName,
ROW_NUMBER() OVER (order by FID) as RowNumber
FROM T_Customer )
select * from Cust Where RowNumber >= @RowStart and RowNumber <= @RowEnd
END
select * From T_Customer Order by FID asc
exec GetCustomersByPage 20,5
本文介绍了一个使用T-SQL编写的存储过程,该过程实现了基于页码和页大小的分页查询功能。通过ROW_NUMBER()窗口函数为每条记录分配行号,并利用此行号实现对指定页的数据进行高效检索。

被折叠的 条评论
为什么被折叠?



