SQL 2005 使用row_number来分页
2010-02-08 11:04
155 查看
今天研究了一下row_number,用它来返回特定行的记录感觉是非常方便的,所以就做了个分页的存储过程,但不知道性能较之top和游标之类的那个好
代码
使用的时候关键要注意ROW_NUMBER后面的OVER和Order BY,这个必须要有的啊,呵呵
代码
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,这个必须要有的啊,呵呵
相关文章推荐
- C#拼接SQL语句,SQL Server 2005+,多行多列大数据量情况下,使用ROW_NUMBER实现的高效分页排序
- SQL2005新函数ROW_NUMBER()实现分页
- SQL Server 2005 使用 SqlBulkCopy 和 TransactionScope 一例
- SQL2005使用XML特性的初级实践
- SQL 2005使用正则表达式
- VS2008自带SQL 2005如何使用
- 分享一个分层架构音乐网站源码(使用了ASP.NET+sql server 2005 无限下载)
- Ms Sql Server 2005的数据库快照功能使用实践
- SQL2005 使用证书实现数据库镜像
- sql 2005 无法使用特殊主体‘sa’ microsoft sql server 。错误:15405
- SQL2005原数据库(因为数据库正在使用,所以无法获得对数据库的独占访问权)解决方案
- Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码)
- SQL 分组后返回序号(ROW_NUMBER () OVER(PARTITION BY order_no ORDER BY START_Time ASC 的使用方法)
- Microsoft SQL Server Migration Assistant 2005 for MySQL使用方法
- Oracle PL/SQL中如何使用%TYPE和%ROWTYPE
- 未能建立连接,原因:SQL Server 2005[SQL-DMO]必须使用管理工具才能连接到此服务器,怎么办?
- sql server row_number使用与分页
- 使用SQL语句为SQL Server 2005创建全文索引
- SQL Server 2005下的分页SQL ,row_number是个鸡肋
- SQLServer中Partition By及row_number 函数使用详解