分页查询存储过程sql语句

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hexu_blog/article/details/73694913

--创建分页的存储过程
alter procedure proc_page
@tabName varchar(50),
@pageIndex int=1,
@pageSize int=5,
@pk varchar(20)='id',
@cols varchar(200)='*',
@where varchar(500)='1=1',
@order varchar(50)='',
@count int output,
@pageCount int output
as
declare @sql varchar(1000)
if(@order='')
    set @order=@pk
set @sql='select top '+CONVERT(varchar(20),@pageSize)+' '+@cols+' from '+@tabName+' where '+@pk
    +' not in (select top '+CONVERT(varchar(20),(@pageIndex-1)*@pageSize)+' '+@pk+' from '+@tabName
    +' where '+@where+' order by '+@order+') and '+@where+' order by '+@order
print @sql
exec sp_sqlexec @sql

exec proc_page @tabName='userInfo'

猜你喜欢

转载自blog.csdn.net/hexu_blog/article/details/73694913