sql server分页存储过程

create proc [dbo].[messageMgr]
    @pageSize int,
    @pageIndex int,
    @rcount bigint output--输出查询总记录数
as
begin
declare @startRowNum int;
declare @endRowNum int;
set @startRowNum=@pageSize*(@pageIndex - 1)+1;
set @endRowNum=@pageIndex*@pageSize;

    select * from (
    SELECT ROW_NUMBER() over(order by a.short_message_time  desc) as number,*
    FROM short_message_info as a) as a
    where a.number between @startRowNum and @endRowNum;

    select @rcount=count(number) from (
    SELECT ROW_NUMBER() over(order by a.short_message_time  desc) as number,*
    FROM short_message_info as a) as a
end

 

posted @ 2016-09-06 14:16  小小高  阅读(209)  评论(0编辑  收藏  举报