SQL SERVER的ROWNUMBER分页

来源:互联网 发布:端口号地址 编辑:程序博客网 时间:2024/06/05 12:00

例子如下

ALTER  PROC [dbo].[BorrowFlowUnderlease_GetAll]/*用途:分页获取所有转借信息作者:***时间:2015-5-1测试用例:EXEC BorrowFlowUnderlease_GetAll 1,"flowID  LIKE '%9%'",10*/@currPage int = 1,   --->当前页码(即top currPage)@strCondition varchar(2000) = '1=1', --->查询条件(即where condition......) 不用加where关键字@pageSize int = 10   --->分页大小ASBEGIN  --->存储过程开始    declare @strSql varchar(4000)  --->该存储过程最后执行的语句    set @strSql='SELECT * FROM(select flowID,lID,areaName,borrowDate,typeName,ROW_NUMBER() OVER(ORDER BY flowID DESC) AS row FROM r_borrowFlow     LEFT JOIN tb_bottleInfo ON bID = tb_bottleInfo.ID LEFT JOIN tb_personInfo ON pID = tb_personInfo.ID LEFT JOIN tb_inpatientAreaInfo ON iID = tb_inpatientAreaInfo.ID  LEFT JOIN tb_bottleType ON tb_bottleInfo.typeID = tb_bottleType.ID where  flowID IN (select distinct(r1.flowID) from r_borrowFlow r1 inner join r_borrowFlow r2 on r1.flowID = r2.flowID and r1.ID<>r2.ID) )as a WHERE '+@strCondition+' and a.row between '+str((@currPage-1)*@pageSize+1)+' and '+str((@currPage)*@pageSize)EXEC (@strSql)print(@strSql)end --->存储过程结束
0 0
原创粉丝点击