SqlServer 存储过程分页

一:存储过程实现分页

  例子:查询楼盘列表

 ALTER procedure [dbo].[BM_GetBlockList]
@pageIndex int,-------页码数
@PageSize int,---------展示的条数
@cityId int
as
declare @sql nvarchar(max) ,
        @sql2 nvarchar(max)
        
set @sql='  from AgentRecmd_Block ab 
            LEFT JOIN BASE_BLOCK block on ab.BlockID=block.ROW_ID
            LEFT JOIN BASE_AREA AREA ON BLOCK.AREA_ID=AREA.ROW_ID
            LEFT JOIN BASE_DISTRICT DIS ON AREA.REGION_ID=DIS.ROW_ID
            LEFT JOIN BASE_CITY CITY ON DIS.CITY_ID=CITY.ROW_ID
            where block.Gcflag=0 and block.IS_APPROVE=0  and ab.GCFLAG=0
            and CITY.ROW_ID='+convert(nvarchar(200),@cityId)+' and block.IsAPP=1 '     
            
set @sql2='select top '+ convert(nvarchar(200),@PageSize)+' block.ROW_ID, block.BLOCK_NAME,DIS.DISTRICT_NAME,block.AVG_PRICE_WEB,block.HOT_VIEW_WEB,block.HOUSING_PROPERY,ab.EndTime '+ 
 @sql +' and ab.ROW_ID not in (select top '+convert(nvarchar(200),(@pageIndex-1)*@PageSize)+' ab.ROW_ID '+@sql+' order by ab.EndTime )'
 EXEC(@sql2);
原文地址:https://www.cnblogs.com/gs21Joan/p/3881383.html