SQL SERVER TOC分頁(yè)的實(shí)現(xiàn)方法
SQL SERVER TOC分頁(yè)的方法未必人人都會(huì),下面就為您詳細(xì)介紹SQL SERVER TOC分頁(yè)的實(shí)現(xiàn)方法,如果您對(duì)SQL SERVER TOC分頁(yè)方面感興趣的話,不妨一看。
SQL SERVER 2005中的TOP分頁(yè)
CREATE PROCEDURE [dbo].[Zhzuo_GetItemsPage2005TOP]
@PageIndex INT,
@PageSize INT,
@RecordCount INT OUT,
@PageCount INT OUT
AS/獲取記錄數(shù)/
SELECT @RecordCount = COUNT() FROM Production.Product
/計(jì)算頁(yè)面數(shù)據(jù)/
SET @PageCount = CEILING(@RecordCount 1.0 / @PageSize)
/TOP記錄數(shù)/
DECLARE @TOPCOUNT INT
SET @TOPCOUNT = @RecordCount - @PageSize @PageIndex
/基于SQL SERVER 2005 /
IF @PageIndex = 0 OR @PageCount <= 1
BEGIN
SELECT TOP(@PageSize) ProductID,Name FROM Production.Product ORDER BY ProductID DESC
END
ELSE
BEGIN
IF @PageIndex = @PageCount - 1
BEGIN
SELECT FROM ( SELECT TOP(@TOPCOUNT) ProductID,Name FROM Production.Product ORDER BY ProductID ASC) T
ORDER BY ProductID DESC
END
ELSE
BEGIN
SELECT TOP(@PageSize) FROM (SELECT TOP(@TOPCOUNT) ProductID,Name FROM Production.Product ORDER BY ProductID ASC) T
ORDER BY ProductID DESC
END
END以上存儲(chǔ)過(guò)程是使用2005的TOP (表達(dá)式) 新功能,避免了字符串拼串,使結(jié)構(gòu)化查詢語(yǔ)言變得簡(jiǎn)潔。實(shí)現(xiàn)的為同樣的功能。
【編輯推薦】