SqlServer2005中利用存储过程分页

利用存储过程分页的Sql脚本如下,实际使用中利用存储过程部分就可以了。包括一个获取总记录数,以及查询结果集这两部分。

--进行top查询时 ,参数需要带上()
declare @page int,@pagesize int
set @page=2
select top (@page) * from usertb

--分页
select top 2 * from usertb where userid not in
(select top 2 userid from usertb order by username) order by username

--分页语句块
declare @pageSize int--页数大小
declare @pageIndex int--页码
set @pageSize = 2
set @pageIndex =1
select top ( @pagesize ) * from usertb
where userid not in(
select top (@pageSize*(@pageIndex-1))  userid
 from usertb order by username )
order by username


--获得表的总数据量
create proc proc_countres(@count int output)
as
begin
select @count=count(*) from usertb
end

--根据用户指定的页码获得数据集
create proc proc_getres(@pageSize int,@pageIndex int)
as
begin
select top ( @pagesize ) * from usertb
where userid not in(
select top (@pageSize*(@pageIndex-1))  userid
 from usertb order by username )
order by username
end

--获取指定页的结果集
exec proc_getres @pageSize=2,@pageIndex=1

--获得总的数据量
declare @count int
exec proc_countres @count output
print @count

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值