主页 > 知识库 > sql2005 存储过程分页代码

sql2005 存储过程分页代码

热门标签:高德地图标注电话怎么没了 无锡梁溪公司怎样申请400电话 北京智能外呼系统供应商家 江西稳定外呼系统供应商 电话机器人录音师薪资 孝感销售电销机器人厂家 智能电销机器人教育 中国地图标注省份用什么符号 奥维地图标注字体大小修改
复制代码 代码如下:

create database Test
on primary ( name='Test_Data.mdf',
filename='D:\我的资料\sql\备份\Test_Data.mdf'
)
log on
(
name='Test_Data.ldf',
filename='D:\我的资料\sql\备份\Test_Data.ldf'
)

if object_id('tb') is not null drop table tb
create table tb
(
Col int
)
insert into tb select top 50 number from master..spt_values where type='P' and number>0

create proc SplitPage
(
@TableName nvarchar(50),
@PageSize int,--每页显示的数量
@CurrentPage int,--当前第几页
@PageCol nvarchar(50),--排序字段
@OrderNo nvarchar(50)--排序方式(DESC,ASC)
)
as
/*
测试用的
declare @PageCol nvarchar(50)
declare @TableName nvarchar(50)
declare @OrderNo nvarchar(50)
declare @PageSize int
declare @CurrentPage int
set @PageCol='Col'
set @TableName='tb'
set @OrderNo='DESC'
set @PageSize=10
set @CurrentPage=4
*/
declare @sql nvarchar(1000)
set @sql=''
set @sql='
;with hgo as
(
select *,row_number() over(
order by '+@PageCol+' '+@OrderNo+') rank
from '+@TableName+'
)'
set @sql=@sql+'select Col from hgo where rank between '+ltrim((@CurrentPage-1)*@PageSize+1)+' and '+ltrim(@CurrentPage*@PageSize)
--print @sql
exec (@sql)

exec SplitPage 'tb',10,1,'Col','DESC'

Col
-----------
50
49
48
47
46
45
44
43
42
41

(10 行受影响)

exec SplitPage 'tb',10,3,'Col','DESC'
Col
-----------
30
29
28
27
26
25
24
23
22
21

(10 行受影响)
您可能感兴趣的文章:
  • sqlserver 千万数量级分页存储过程代码
  • sql 存储过程分页代码 支持亿万庞大数据量
  • SQL Server 2005通用分页存储过程及多表联接应用
  • mssql 高效的分页存储过程分享
  • 基于Sql Server通用分页存储过程的解决方法
  • 深入sql server 2005 万能分页存储过程的详解
  • SQL Server 分页查询通用存储过程(只做分页查询用)
  • SQL Server两种分页的存储过程使用介绍
  • SqlServer 2000、2005分页存储过程整理
  • 实现SQL分页的存储过程代码

标签:那曲 临沧 齐齐哈尔 泰州 海北 通化 阜阳 荆州

巨人网络通讯声明:本文标题《sql2005 存储过程分页代码》,本文关键词  sql2005,存储,过程,分页,代码,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《sql2005 存储过程分页代码》相关的同类信息!
  • 本页收集关于sql2005 存储过程分页代码的相关信息资讯供网民参考!
  • 推荐文章