sql2005 存儲過程分頁代碼
更新時(shí)間:2010年06月29日 15:24:18 作者:
sql2005 存儲過程分頁代碼,發(fā)的也比較多了,這里腳本之家兼得整理下,大家可以多參考幾個(gè)。選擇自己喜歡的。
復(fù)制代碼 代碼如下:
create database Test
on primary ( name='Test_Data.mdf',
filename='D:\我的資料\sql\備份\Test_Data.mdf'
)
log on
(
name='Test_Data.ldf',
filename='D:\我的資料\sql\備份\Test_Data.ldf'
)
if object_id('tb') is not null drop table tb
create table tb
(
Col int
)
insert into tb select top 50 number from master..spt_values where type='P' and number>0
create proc SplitPage
(
@TableName nvarchar(50),
@PageSize int,--每頁顯示的數(shù)量
@CurrentPage int,--當(dāng)前第幾頁
@PageCol nvarchar(50),--排序字段
@OrderNo nvarchar(50)--排序方式(DESC,ASC)
)
as
/*
測試用的
declare @PageCol nvarchar(50)
declare @TableName nvarchar(50)
declare @OrderNo nvarchar(50)
declare @PageSize int
declare @CurrentPage int
set @PageCol='Col'
set @TableName='tb'
set @OrderNo='DESC'
set @PageSize=10
set @CurrentPage=4
*/
declare @sql nvarchar(1000)
set @sql=''
set @sql='
;with hgo as
(
select *,row_number() over(
order by '+@PageCol+' '+@OrderNo+') rank
from '+@TableName+'
)'
set @sql=@sql+'select Col from hgo where rank between '+ltrim((@CurrentPage-1)*@PageSize+1)+' and '+ltrim(@CurrentPage*@PageSize)
--print @sql
exec (@sql)
exec SplitPage 'tb',10,1,'Col','DESC'
Col
-----------
50
49
48
47
46
45
44
43
42
41
(10 行受影響)
exec SplitPage 'tb',10,3,'Col','DESC'
Col
-----------
30
29
28
27
26
25
24
23
22
21
(10 行受影響)
相關(guān)文章
SQL查詢?nèi)罩?查看數(shù)據(jù)庫歷史查詢記錄的方法
在查詢分析器中寫了半天的SQL,竟忘了保存,坑爹啊~想找回某段時(shí)間曾執(zhí)行過的一段SQL語句,怎么辦2011-10-10
SQL Server 2005安裝配置方法圖文教程 完美兼容Win7所有版本
這篇文章主要為大家詳細(xì)介紹了SQL Server 2005安裝配置方法圖文教程,感興趣的小伙伴們可以參考一下2016-07-07
配置 SQLServer2005 以允許遠(yuǎn)程連接
為 SQL Server 2005 Express Edition 或 SQL Server 2005 Developer Edition 啟用遠(yuǎn)程連接/2009-11-11
SQL Server 2005 數(shù)據(jù)庫復(fù)制詳細(xì)介紹
這篇文章主要介紹了SQL Server 2005 數(shù)據(jù)庫復(fù)制技術(shù),有時(shí)候我們需要將數(shù)據(jù)庫備份一份到別的服務(wù)器上,防止突發(fā)情況2014-08-08
收縮數(shù)據(jù)庫日志文件的方法(僅適用于mssql2005)
將數(shù)據(jù)庫日志文件變?yōu)?M大小代碼講解收縮mssql2005數(shù)據(jù)庫日志文件的方法,感興趣的你可不要錯(cuò)過了哈,希望本文可以幫助到你2013-02-02
SQL Server 中 RAISERROR 的用法詳細(xì)介紹
這篇文章主要介紹了SQL Server 中 RAISERROR 的用法詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-11-11
sqlserver 2005連接超時(shí)采用bat命令解決
sqlserver 2005 連接超時(shí)會(huì)導(dǎo)致很多依賴于它的程序無法正常方法,多么悲催的一件事前啊,本文的出現(xiàn)將解決你的燃眉之急,感興趣的你可不要錯(cuò)過了哈2013-02-02
在登錄觸發(fā)器錯(cuò)誤情況下連接SQL Server的方法
如果你創(chuàng)建了一個(gè)登錄觸發(fā)器,并且在這個(gè)觸發(fā)器中有一些不好的代碼,那么當(dāng)你嘗試著登錄時(shí),你將會(huì)得到一個(gè)類似于圖一顯示的錯(cuò)誤2011-07-07
Sql Server2005實(shí)現(xiàn)遠(yuǎn)程備份數(shù)據(jù)庫
相信大家都在當(dāng)心數(shù)據(jù)庫的丟失,這也是每個(gè)開發(fā)者頭痛的一件事件,因?yàn)檎谶\(yùn)行的服務(wù)器及數(shù)據(jù)庫也在這臺服務(wù)器上2014-04-04

