sql2005 存储过程分页代码

泪光下的诺言

泪光下的诺言

2016-02-19 10:19

下面图老师小编跟大家分享一个简单易学的sql2005 存储过程分页代码教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!
代码如下:

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 number0

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 行受影响)
展开更多 50%)
分享

猜你喜欢

sql2005 存储过程分页代码

编程语言 网络编程
sql2005 存储过程分页代码

分页存储过程(一)使用sql2005的新函数构造分页存储过程

编程语言 网络编程
分页存储过程(一)使用sql2005的新函数构造分页存储过程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

SQL2005 存储过程解密方法

编程语言 网络编程
SQL2005 存储过程解密方法

SQL2005 高效分页sql语句

编程语言 网络编程
SQL2005 高效分页sql语句

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

分页存储过程代码

编程语言 网络编程
分页存储过程代码

sql 存储过程分页

Web开发
sql 存储过程分页

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何使用QQ剪切板

如何使用QQ剪切板

HTML5 贪吃蛇游戏实现思路及源代码

HTML5 贪吃蛇游戏实现思路及源代码
下拉加载更多内容 ↓