首页数据库sql2005 存储过程分页代码

sql2005 存储过程分页代码

时间2024-02-28 23:22:03发布访客分类数据库浏览469
导读:收集整理的这篇文章主要介绍了sql2005 存储过程分页代码,觉得挺不错的,现在分享给大家,也给大家做个参考。 复制代码 代码如下: create database test on Pr...
收集整理的这篇文章主要介绍了sql2005 存储过程分页代码,觉得挺不错的,现在分享给大家,也给大家做个参考。 复制代码 代码如下:
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分页的存储过程代码

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: sql2005 存储过程分页代码
本文地址: https://pptw.com/jishu/632079.html
SQL2005 存储过程解密方法 SQLSERVER 2005中使用sql语句对xml文件和其数据的进行操作(很全面)

游客 回复需填写必要信息