- create PROCEDURE [dbo].[proc_ShowPage]
- @tblName varchar(255), -- 表名
- @strGetFields varchar(1000) = '*', -- 需要返回的列,默认*
- @strOrder varchar(255)='', -- 排序的字段名,必填
- @strOrderType varchar(10)='ASC', -- 排序的方式,默认ASC
- @PageSize int = 10, -- 页尺寸,默认10
- @PageIndex int = 1, -- 页码,默认1
- @strWhere varchar(1500) = '' -- 查询条件 (注意: 不要加 where)
- AS
- declare @strSQL varchar(5000)
- if @strWhere !=''
- set @strWhere=' where '+@strWhere
- set @strSQL=
- 'SELECT * FROM ('+
- 'SELECT ROW_NUMBER() OVER (ORDER BY '+@strOrder+' '+@strOrderType+') AS pos,'+@strGetFields+' '+
- 'FROM '+@tblName+' '+@strWhere+
- ') AS sp WHERE pos BETWEEN '+str((@PageIndex-1)*@PageSize+1)+' AND '+str(@PageIndex*@PageSize)
- exec (@strSQL)
sql ROW_NUMBER()分页
最新推荐文章于 2023-05-03 23:28:50 发布