自己写的分页.请笑纳

SQL分页查询存储过程
if exists(select * from guest_table)
drop proc pagerepeat
go


create proc pageRepeat
@tblname varchar(255), 
@fldname varchar(255), 
@pageSize int,
@pageIndex int,
@pageCounts int output,
@totalRecord int output
as
declare @strSQL nvarchar(4000), 
@totalCounts int,

@wqe int,
@sql NVARCHAR(400),
@sql1  NVARCHAR(400)




set @sql =N'select @totalCounts=count(*) from '+@tblname

exec sp_executesql @sql,N'@totalcounts int output',@totalcounts output



set @pageCounts=(@totalCounts/@pageSize)

set @totalRecord=@totalCounts


if (@pageCounts+1)>=@pageindex and @pageindex>0

   
begin

   
if @pageIndex = 1

   
set @strSQL='select top '+str(@pageSize)+' * from '+@tblname+' order by '+@fldname+' desc'

   
else

   
set @strSQL='select top '+str(@pagesize)+' * from '+@tblname+' where '+@fldname+
   
'<(select min('+ @fldname+''+@tblname+' from (select top '+
   
str((@pageIndex-1)*@pagesize)+ @fldname+ ' from '+@tblname+ ' order by '+@fldname+ ' desc) as #temptab)order by '+@fldname+' desc'



   
exec sp_executesql @strSQL

   
end

else

  
begin
   
    
print '错误'   

  
end





go


declare @pagecounts int,@totalCounts int
exec pagerepeat '你的表名','排序字段',10,12,@pagecounts output,@totalCounts output
select @pagecounts,@totalCounts
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值