今天研究了一下row_number,用它来返回特定行的记录感觉是非常方便的,所以就做了个分页的存储过程,但不知道性能较之top和游标之类的那个好

代码

create procedure [dbo].[proc_TestPage]
--表名
@tablename nvarchar(255),
--排序字段
@sortcolumn nvarchar(255),
--每页记录数
@pagecount int,
--页号
@pageindex int
as
declare @beginrow int
declare @endrow int

set @beginrow=0
set @endrow=0

set @beginrow=(@pageindex-1)*@pagecount+1
set @endrow=@pageindex*@pagecount

declare @sqlstr nvarchar(4000)

set @sqlstr='with table1 as(select *,ROW_NUMBER() OVER(ORDER BY '+ @sortcolumn+' ) AS ROW'+
' FROM '+@tablename+') '
set @sqlstr=@sqlstr +' SELECT * FROM TABLE1 WHERE ROW BETWEEN '+cast(@beginrow as nvarchar )+' and '+cast(@endrow as nvarchar)

exec(@sqlstr)

使用的时候关键要注意ROW_NUMBER后面的OVER和Order BY,这个必须要有的啊,呵呵

SQL 2005 使用row_number来分页相关推荐

  1. SQL 2005 新功能

    1. TOP 表达式 SQL Server 2000的TOP是个固定值,是不是觉得不爽,现在改进了. --前n名的订单 declare @n int   set @n = 10   select TO ...

  2. oracle 排序加行号,SQL行号排序和分页

    SQL行号排序和分页 (一)行号显示和排序 1.SQL Server的行号 A.SQL 2000使用identity(int,1,1)和临时表,可以显示行号 SELECT identity(int,1 ...

  3. SQL 2005新增的几个函数之学习

    sqlserver 2005新增函数学习(转载) 原文:SQL 2005新增的几个函数之学习 今天学习了sql server 2005新增的几个函数,分别是row_number(),rank,DENS ...

  4. .NET 3.5(11) - DLINQ(LINQ to SQL)之大数据量分页、延迟执行和日志记录

    步步为营VS 2008 + .NET 3.5(11) - DLINQ(LINQ to SQL)之大数据量分页.延迟执行和日志记录 作者:webabcd 介绍 以Northwind为示例数据库,DLIN ...

  5. 在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案[转]

    在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案 病症表现为:主要表现为用T-sql语句插入中文数据时数据库显示全是问号"???"  解决办法: 第一种办法 ...

  6. sql 2005学习笔记1

    sql 2005学习笔记1 最近开始看赵松涛的<SQL 2005数据奥秘>,发现是本十分不错的独特的SQL 2005的书,讲了很多深入的东西,现学习之并每次笔记要点之. 1 SQL 200 ...

  7. SQL 2005完全卸载,重新安装

    1.Stop 所有服务 2.用 Windows Install Clean Up 工具卸载SQL 2005组件 3.用SrvInstw.exe删除所有SQL服务 4.清除注册表 a. 将HKEY_CU ...

  8. SQL 2005 Oct CTP 和VS2005 for CTP安装的情况

    October CTP release of Sql Server 2005 Installation issues and resolution http://weblogs.asp.net/wal ...

  9. SQL 2005启用组件Ad Hoc Distributed Queries

    转载 SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作 ...

最新文章

  1. 如何使用TVM Pass Relay
  2. ZOJ 2760 How Many Shortest Path (不相交的最短路径个数)
  3. SLAM: SLAM基本流程—VSLAM扫盲之旅
  4. union的作用 c语言,C语言(union类型及应用)
  5. hdu 1811Rank of Tetris (并查集 + 拓扑排序)
  6. 【转】C++类的sizeof大小
  7. 页面加载被延迟 Firefox将禁用对DV和OV证书的OCSP检查
  8. 《架构探险》第三章 项目核心实现
  9. 深入C++的new(2011-11-15 15:08 )
  10. Android自定义布局的背景在多分辨率的情况下设置fill_parent时背景不能够横向全屏的问题解决...
  11. Python调用有道智云文本翻译API接口实现“智能”伪原创
  12. python自动qq群发_自动给qq好友发消息
  13. 靶机渗透练习81-Momentum:2
  14. 海康摄像头之FTP服务器搭建及使用
  15. ESP32/ESP32S2直连腾讯云,实现微信小程序控制
  16. python 山脊图_《图像处理实例》 之 寻找山脊线
  17. 插入排序及其时间复杂度推导
  18. 关于使用LocationManager时遇到的问题
  19. Hive学习笔记——parse
  20. 漫画:二分解题模板(第一讲)- 修订版

热门文章

  1. MFC 直线 虚线 折线 圆 椭圆 矩形 弧形
  2. javax.jdo.option.ConnectionURL配置的问题
  3. POJ 3264 Balanced Lineup(RMQ)
  4. 监控主机安装需要材料
  5. Android API 中文(14) —— ViewStub
  6. js split参数为无效字符_js使用split函数按照多个字符对字符串进行分割的方法
  7. group by 保留哪一条数据_使用R语言绘制一维数据统计图总结
  8. [Swift]LeetCode1013. 将数组分成和相等的三个部分 | Partition Array Into Three Parts With Equal Sum...
  9. 在FC中如何获取fcdot文件
  10. javascript:with的用法以及延长作用域链