- create PROCEDURE [dbo].[proc_ShowPage]
- @tblName varchar(255),
- @strGetFields varchar(1000) = '*',
- @strOrder varchar(255)='',
- @strOrderType varchar(10)='ASC',
- @PageSize int = 10,
- @PageIndex int = 1,
- @strWhere varchar(1500) = ''
- AS
-
- declare @strSQL varchar(5000)
-
- if @strWhere !=''
- set @strWhere=' where '+@strWhere
-
- set @strSQL=
- 'SELECT * FROM ('+
- 'SELECT ROW_NUMBER() OVER (ORDER BY '+@strOrder+' '+@strOrderType+') AS pos,'+@strGetFields+' '+
- 'FROM '+@tblName+' '+@strWhere+
- ') AS sp WHERE pos BETWEEN '+str((@PageIndex-1)*@PageSize+1)+' AND '+str(@PageIndex*@PageSize)
-
- exec (@strSQL)
来源:http://niunan.iteye.com/blog/625346
分享到:
相关推荐
SQL ROW_NUMBER()分页比较
利用SQL 2005中的Row_number() 进行数据分页
分页存储过程,仅适用于Sql2005以上,使用 ROW_NUMBER()函数用于多表分页查询,可以分组查询
本文为大家分享了SQL Server使用row_number分页的实现方法,供大家参考,具体内容如下 1、首先是 select ROW_NUMBER() over(order by id asc) as ‘rowNumber’, * from table1 生成带序号的集合 2、再查询该集合的 ...
设置sqlServer使用ROW_NUMBER时不排序 –1.看到NHibernate是这样写的分页,感觉写起来比较容易理解(应该不会有效率问题吧?) –with只是定一个别名? [sql] with query as (select ROW_NUMBER() over(order by ...
采用另外一种方式来进行分页。。RowNumber方式或许更快,方式更好点
通用存储过程分页(使用ROW_NUMBER()和不使用ROW_NUMBER()两种情况)性能分析
C#拼接SQL语句,SQL Server 2005+,多行多列大数据量情况下,使用ROW_NUMBER实现的高效分页排序
主要介绍了SQLSERVER分页查询关于使用Top方式和row_number()解析函数的不同的相关资料,需要的朋友可以参考下
ROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号。在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是一致的,当使用ROW_NUMBER函数时,也需要专门一列用于预先排序以...
SQL Server 2005中ROW_NUMBER()函数在存储过程分页中的应用.pdf
SQL2005利用ROW_NUMBER() OVER实现分页功能,需要的朋友可以参考下
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) <BR> 例子: 代码如下: select * from ( select *, ROW_NUMBER() OVER(Order by a.CreateTime DESC ) AS RowNumber from table_name as a ) as b ...
sql存储过程分页和利用sql2005的Row_Number分页
本篇文章是对数据库分页的两种方法对比(row_number()over()和top的对比)进行了详细的分析介绍,需要的朋友参考下
在SqlServer2005中,提供了一个row_number()的函数,我们经常用它做DataBase数据分页.