sql分页小程序

alter proc PR_Base_ShowPage
@PageSize int,
@Page    int ,
@TableName varchar(30),
@OrderColumn varchar(20)

/*
功能:分页取表的数据
参数:
    @PageSize   页大小
    @Page       第几页,从1开始
    @TableName  表名
    @OrderColumn 排序列名
*/

as
begin

declare @strsql varchar(2000)
declare @Count varchar(10)
declare @pre varchar(10)
set @pre=cast((@PageSize*(@Page-1)) as varchar)
set @Count=cast((@PageSize*@Page) as varchar)
set @strsql='select b.* from (select top '+@pre+' * from '+@TableName+' order by '+@OrderColumn+') a
right join (select top '+@Count+' * from '+@TableName+' order by '+@OrderColumn+') b
on a.'+@OrderColumn+'=b.'+@OrderColumn+' where a.'+@OrderColumn+' is null'
if @Page=1
begin
set @strsql=' select top '+cast(@PageSize as varchar)+' * from '+@TableName+' order by '+@OrderColumn
end

exec(@strsql)


end

/*
select b.* from (select top 3000 * from tbBaseCombination order by cnicombinationID) a
right join (select top 4000 * from tbBaseCombination order by cnicombinationID) b
on a.cniCombinationID=b.cniCombinationID where a.cniCombinationid is null
*/ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值