--分页存储过程
ALTER PROCEDURE [dbo].[pagination]
@tablename varchar(255),
@collist varchar(500),
@primarykey varchar(100),
@PageSize INT,
@PageIndex INT,
@strWhere varchar(500) -- 查询条件(注意: 不要加where)
as
declare @sql varchar(1000),@begin varchar(10),@end varchar(10),@col varchar(500)
set @begin=@PageSize*(@PageIndex-1)+1
set @end=@PageSize*@PageIndex
if(@strWhere='')
begin
set @strWhere = '1=1'
end
select @sql='select '+@collist+' from (select row_number() over (order by '+@primarykey +') row,* from ' + @tablename +' where '+@strWhere+') ' + @tablename + ' where row between '+@begin+' and '+@end+' and '+@strWhere +' order by '+@primarykey
exec(@sql)
分页存储过程
最新推荐文章于 2024-07-26 10:50:46 发布