SQL SERVER TOC分页的方法未必人人都会,下面就为您详细介绍SQL SERVER TOC分页的实现方法,如果您对SQL SERVER TOC分页方面感兴趣的话,不妨一看。
SQL SERVER 2005中的TOP分页
CREATE PROCEDURE [dbo].[Zhzuo_GetItemsPage2005TOP]
@PageIndex INT,
@PageSize INT,
@RecordCount INT OUT,
@PageCount INT OUT
AS/获取记录数/
SELECT @RecordCount = COUNT() FROM Production.Product
/计算页面数据/
SET @PageCount = CEILING(@RecordCount 1.0 / @PageSize)
/TOP记录数/
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以上存储过程是使用2005的TOP (表达式) 新功能,避免了字符串拼串,使结构化查询语言变得简洁。实现的为同样的功能。
【编辑推荐】