SQL Server 2000 的分頁查詢(儲存過程)
1.儲存過程語句
CREATE PROCEDURE [dbo].[up_Pager]
@table varchar(2000), --表名
@col varchar(50), --按該列來進行分頁
@orderby bit, --排序,0-順序,1-倒序
@collist varchar(800),--要查詢出的欄位列表,*表示全部欄位
@pagesize int, --每頁記錄數
@page int, --指定頁
@condition varchar(800) --查詢條件
AS
DECLARE @sql nvarchar(4000),@where1 varchar(800),@where2 varchar(800),
@total_Item int,@total_Page int
IF @condition is null or rtrim(@condition)=''
BEGIN--沒有查詢條件
SET @where1=' WHERE '
SET @where2=' '
END
ELSE
BEGIN--有查詢條件
SET @where1=' WHERE () AND '--本來有條件再加上此條件
SET @where2=' WHERE () '--原本沒有條件而加上此條件
END
SET @sql='SELECT @total_Item=CEILING((COUNT(*)+0.0)'+') FROM + @where2
EXEC sp_executesql @sql,N'@total_Item int OUTPUT',@total_Item OUTPUT --計算總條數
set @total_Page = Ceiling((@total_Item+0.0)/@pagesize) --計算頁總數
IF @orderby=0
SET @sql='SELECT TOP '+CAST(@pagesize AS varchar)+' +
' , '+ CAST(@total_Item AS varchar) + ' as total_Item' +
' , '+CAST(@total_Page AS varchar) + ' as total_Page' +
' FROM MAX() '+
' FROM (SELECT TOP '+CAST(@pagesize*(@page-1) AS varchar)+' '+
@col+' FROM BY ) t) ORDER BY
ELSE
SET @sql='SELECT TOP '+CAST(@pagesize AS varchar)+' +
' , '+ CAST(@total_Item AS varchar) + ' as total_Item' +
' , '+CAST(@total_Page AS varchar) + ' as total_Page' +
' FROM MIN() '+
' FROM (SELECT TOP '+CAST(@pagesize*(@page-1) AS varchar)+' '+
@col+' FROM BY DESC) t) ORDER BY '+
@col+' DESC'
IF @page=1--第一頁
SET @sql='SELECT TOP '+CAST(@pagesize AS varchar)+' +
' , '+ CAST(@total_Item AS varchar) + ' as total_Item' +
' , '+CAST(@total_Page AS varchar) + ' as total_Page' +
' FROM +
@where2+'ORDER BY @orderby WHEN 0 THEN '' ELSE ' DESC' END
--print @sql
EXEC(@sql)
2.在SQL中測試(教你如何使用)
EXEC up_Pager '(SELECT * FROM 表名)aa','要排序的列名',0-順序或1-倒序,'顯示列',每頁記錄數,指定頁,'條件'
EXEC up_Pager '(SELECT * FROM T_Gather_Page)aa','SaveTime',1,'*',40,3,''
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/106943/viewspace-906181/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 通用的SQL Server資料庫查詢分頁儲存過程SQLServer資料庫儲存過程
- (SQL Server)分頁的儲存過程SQLServer儲存過程
- SQL Server 儲存過程的經典分頁(轉)SQLServer儲存過程
- SQL SERVER 2005分頁儲存過程SQLServer儲存過程
- SQL 分頁儲存過程SQL儲存過程
- sql儲存過程分頁SQL儲存過程
- Sql儲存過程分頁--臨時表儲存SQL儲存過程
- SQL Server 儲存過程SQLServer儲存過程
- 【SQL Server】--儲存過程SQLServer儲存過程
- 兩種SQL分頁方法儲存過程和遊標儲存過程SQL儲存過程
- 簡單談基於SQL SERVER 分頁儲存過程的演進SQLServer儲存過程
- 分頁儲存過程儲存過程
- asp.net SQL Server 儲存過程分頁及程式碼呼叫ASP.NETSQLServer儲存過程
- MS SQL Server儲存過程SQLServer儲存過程
- Sql Server系列:儲存過程SQLServer儲存過程
- 解密SQL SERVER儲存過程解密SQLServer儲存過程
- 通用分頁儲存過程儲存過程
- SQL Server 儲存過程的運用SQLServer儲存過程
- 使用SQL Server 2005的新函式構造分頁儲存過程SQLServer函式儲存過程
- Excel資料匯入SQL Server2000的儲存過程ExcelSQLServer儲存過程
- SQL Server基礎:儲存過程SQLServer儲存過程
- sql server儲存過程語法SQLServer儲存過程
- 簡單的儲存過程分頁儲存過程
- 簡單的分頁儲存過程儲存過程
- Oracle服務啟動-索引-子查詢-分頁儲存過程問題Oracle索引儲存過程
- 儲存過程模糊查詢(like)儲存過程
- SqlServer-儲存過程分頁SQLServer儲存過程
- 使用SQL Server2005的新函式構造分頁儲存過程SQLServer函式儲存過程
- 生成sql server2000物件建立指令碼的儲存過程(轉)SQLServer物件指令碼儲存過程
- SQL Server儲存過程中raiserror的使用SQLServer儲存過程AIError
- asp.net分頁的SQL語句及儲存過程ASP.NETSQL儲存過程
- SQL Server基礎之儲存過程SQLServer儲存過程
- Sql Server系列:查詢分頁語句SQLServer
- 基於ROWCOUNT的分頁儲存過程儲存過程
- Sql Server系列:SQL語句查詢資料庫中表、檢視、儲存過程等組成SQLServer資料庫儲存過程
- 查詢儲存過程報錯資訊儲存過程
- oracle儲存過程分頁程式碼Oracle儲存過程
- 支援DISTINCT的通用分頁儲存過程(SQL2005)儲存過程SQL