您的位置:首页 > 数据库

SQL2005中利用存储过程分页

2010-12-08 21:25 134 查看
--进行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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: