分页存储过程

来源:互联网 发布:雅米网络兼职是真的吗 编辑:程序博客网 时间:2024/04/26 20:36
 
--分页存储过程  ALTER PROCEDURE [dbo].[pagination]@tablename varchar(255),@collist varchar(500),@primarykey varchar(100),@PageSize INT, @PageIndex INT, @strWhere varchar(500) -- 查询条件(注意: 不要加where) asdeclare @sql varchar(1000),@begin varchar(10),@end varchar(10),@col varchar(500)set @begin=@PageSize*(@PageIndex-1)+1set @end=@PageSize*@PageIndexif(@strWhere='')begin set @strWhere = '1=1'endselect @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 '+@primarykeyexec(@sql)