CREATE PROCEDURE [dbo].[ShowPage1]
@tblName varchar(255), -- 表名
@strGetFields varchar(1000), -- 需要返回的列
@strOrder varchar(255), -- 排序的字段名
@PageSize int, -- 页尺寸
@PageIndex int, -- 页码
@strWhere varchar(1500)='' -- 查询条件 (注意: 不要加 where)
AS
declare @strSQL varchar(5000)
if @strWhere !=''
set @strWhere= 'where'+@strWhere
set @strSQL='Select'+@strGetFields+'FROM'+'+(Select ROW_NUMBER() OVER (+'+@strOrder+') AS pos,'+@strGetFields+' FROM ['+@tblName+']'+@strWhere+') AS sp Where pos BETWEEN str(('+@PageIndex+'-1)*'+@PageSize+'+1) AND str('+@PageIndex+'*'+@PageSize+')'
exec (@strSQL)