新聞中心
SQL SERVER TOP分頁是我們經(jīng)常會用到的,下面就對SQL SERVER 2000中SQL SERVER TOP分頁的方法進(jìn)行詳盡的闡述,如果您感興趣的話,不妨一看。

創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)與策劃設(shè)計,宣恩網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:宣恩等地區(qū)。宣恩做網(wǎng)站價格咨詢:18980820575
SQL SERVER 2000中SQL SERVER TOP分頁的方法:
- CREATE PROCEDURE [Zhzuo_GetItemsPage]
- @PageIndex INT, /@PageIndex從計數(shù),0為第一頁/
- @PageSize INT, /頁面大小/
- @RecordCount INT OUT, /總記錄數(shù)/
- @PageCount INT OUT /頁數(shù)/AS/獲取記錄數(shù)/
- SELECT @RecordCount = COUNT() FROM Production.Product
- /計算頁面數(shù)據(jù)/
- SET @PageCount = CEILING(@RecordCount 1.0 / @PageSize)
- /TOP記錄數(shù)/
- DECLARE @TOPCOUNT INT
- SET @TOPCOUNT = @RecordCount - @PageSize @PageIndex
- DECLARE @SQLSTR NVARCHAR(1000)
- IF @PageIndex = 0 OR @PageCount <= 1
- BEGIN
- SET @SQLSTR =N‘SELECT TOP ‘+STR(@PageSize)+
- ‘ProductID,Name FROM Production.Product ORDER BY ProductID DESC‘
- END
- ELSE
- BEGIN
- IF @PageIndex = @PageCount - 1
- BEGIN
- SET @SQLSTR =N‘SELECT FROM ( SELECT TOP ‘ + STR(@TOPCOUNT) +
- ‘ProductID,Name FROM Production.Product ORDER BY ProductID ASC) T ORDER BY ProductID DESC‘
- END
- ELSE
- BEGIN
- SET @SQLSTR =N‘ SELECT TOP ‘+STR(@PageSize)+‘ FROM (SELECT TOP ‘ + STR(@TOPCOUNT) +
- ‘ProductID,Name FROM Production.Product ORDER BY ProductID ASC) T ORDER BY ProductID DESC‘
- END
- END/執(zhí)行/
- EXEC (@SQLSTR)
以上存儲過程對頁數(shù)進(jìn)行判斷,如果是第一頁或最后一頁,進(jìn)行特殊處理。其他情況使用2次TOP翻轉(zhuǎn)。其中排序條件為ProductID倒序。最后通過EXECUTE執(zhí)行SQL字符串拼串。
【編輯推薦】
SQL Server系統(tǒng)表的應(yīng)用
Sql Server全文索引的遷移
SQL Server全文索引的用法
SQL Server備份恢復(fù)的兩種方法
SQL SERVER刪除日志的實(shí)現(xiàn)方法
分享標(biāo)題:SQLSERVER2000中SQLSERVERTOP分頁的方法
轉(zhuǎn)載來源:http://m.fisionsoft.com.cn/article/djdeoio.html


咨詢
建站咨詢
