使用Row_Number的分页存储过程
2015-02-28 20:24
453 查看
分页存储过程是非常通用的功能,今天自己写了一个分页存储过程,写下来记录一下。
CREATE TABLE [dbo].[MyTable]( [Id] [int] NOT NULL, [Info1] [nvarchar](50) NULL, [Info2] [nvarchar](50) NULL, [Info3] [nvarchar](50) NULL, CONSTRAINT [PK_MyTable] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO分页存储过程
-- ============================================= -- Author: justin -- Create date: 2015-2-28 -- Description: divide page -- ============================================= ALTER PROCEDURE prc_divpage @table nvarchar(50), @fields nvarchar(50), @where nvarchar(50), @order nvarchar(50), @index int, @count int AS BEGIN declare @start int; set @start = (@index-1) * @count; declare @sql nvarchar(max); set @sql = 'select ' + @fields + ' from '+ '(select row_number() over (order by ' + @order+ ') as RowNumber,' + @fields + ' from '+ @table +' where '+ @where +')'+ 'as r where r.RowNumber >' + CONVERT(nvarchar(20),@start) + ' and r.RowNumber < ' + CONVERT(nvarchar(20),@start+@count+1) + ' order by r.RowNumber'; print @sql exec(@sql); END GO
相关文章推荐
- 使用ROW_NUMBER()的分页存储过程
- 使用ROW_NUMBER()的分页存储过程
- SqlServer中使用row_number() over实现通用的分页存储过程
- sqlserver 通用存储过程分页代码(附使用ROW_NUMBER()和不使用ROW_NUMBER()两种情况性能分析)
- 使用vs2005的rowNumber对数据实现分页的存储过程。
- 使用ROW_NUMBER()的分页存储过程
- 一个利用Sql Server 20005的 ROW_NUMBER Function 的分页存储过程.
- 抛弃以往分页方式,改用ROW_NUMBER()加BETWEEN方式的分页存储过程,特此分享
- sqlserver 高效分页的存储过程 基于ROW_NUMBER()
- 一个基于ROW_NUMBER()的通用分页存储过程代码
- SQL SERVER 2005 用ROW_NUMBER()创建分页存储过程
- SQL Server 2005 分页存储过程 row_number()
- jquery.pagination.js 分页存储过程--基于ROW_NUMBER() OVER()分页
- 学习ROW_NUMBER(),高效分页存储过程
- 利用SQL2005的row_number()重新写了个自定义分页存储过程
- T-SQL存储过程:ROW_NUMBER()分页
- 使用sql2005的新特性分页的储存过程:Top,Row_Number
- SQL2005结合ROW_NUMBER()高效分页存储过程
- 使用sql2005的新特性分页的储存过程:Top,Row_Number
- Sql server 2005的分页存储过程,利用ROW_NUMBER()新特性