存储过程的分页
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了存储过程的分页相关的知识,希望对你有一定的参考价值。
CREATE
PROCEDURE
pageTest
--用于翻页的测试
--需要把排序字段放在第一列
(
@FirstID nvarchar(20)=
null
,
--当前页面里的第一条记录的排序字段的值
@LastID nvarchar(20)=
null
,
--当前页面里的最后一条记录的排序字段的值
@isNext
bit
=
null
,
--true 1 :下一页;false 0:上一页
@allCount
int
output
,
--返回总记录数
@pageSize
int
output
,
--返回一页的记录数
@CurPage
int
--页号(第几页)0:第一页;-1最后一页。
)
AS
if @CurPage=0
--表示第一页
begin
--统计总记录数
select
@allCount=
count
(ProductId)
from
Product_test
set
@pageSize=10
--返回第一页的数据
select
top
10
ProductId,
ProductName,
Introduction
from
Product_test
order
by
ProductId
end
else
if @CurPage=-1
--表示最后一页
select
*
from
(
select
top
10 ProductId,
ProductName,
Introduction
from
Product_test
order
by
ProductId
desc
)
as
aa
order
by
ProductId
else
begin
if @isNext=1
--翻到下一页
select
top
10 ProductId,
ProductName,
Introduction
from
Product_test
where
ProductId > @LastID
order
by
ProductId
else
--翻到上一页
select
*
from
(
select
top
10 ProductId,
ProductName,
Introduction
from
Product_test
where
ProductId < @FirstID
order
by
ProductId
desc
)
as
bb
order
by
ProductId
end
以上是关于存储过程的分页的主要内容,如果未能解决你的问题,请参考以下文章