SQL 2005 使用row_number来分页
生活随笔
收集整理的這篇文章主要介紹了
SQL 2005 使用row_number来分页
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天研究了一下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来分页的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何正确执行碎片整理或在群集共享卷(CS
- 下一篇: ddr2和ddr3的区别