首页 > 代码库 > 存储过程的分页
存储过程的分页
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
存储过程的分页
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。