SQL SERVER 分页(2)——利用OFFSET/FETCH NEXT实现分页

       在上一篇博客中用ROW_NUMBER实现分页,这次我们利用OFFSET/FETCH NEXT来实现分页,这个是在SQL2012中加入的分页方法,测试数据:

--测试数据    
if not object_id(N'T') is null    
    drop table T    
Go    
Create table T([ID] int,[姓名] nvarchar(22))    
Insert T    
select 1,N'张三' union all    
select 2,N'李四' union all    
select 3,N'王五'   union all    
select 4,N'赵六'    
GO    
--测试数据结束  

       翻页存储过程:

CREATE PROC PageTest  
    @CurrentPage INT,           --当前页  
    @PageSize INT               --每页多少条  
AS  
BEGIN  
SELECT *
FROM dbo.T
ORDER BY ID			--这里一定得加Order By
OFFSET (@PageSize * (@CurrentPage - 1)) ROW FETCH NEXT @PageSize ROWS ONLY;

END; 

      测试:

EXEC dbo.PageTest @CurrentPage = 2, -- int
                  @PageSize = 2     -- int

       结果:

SQL SERVER 分页(2)——利用OFFSET/FETCH NEXT实现分页_第1张图片

你可能感兴趣的:(SQL,SERVER分页,SQL,SERVER常用方法)