您的位置:首页 > 数据库

SQL实现分页存储过程

2013-09-10 22:19 183 查看
SQL分页存储过程的编写:

--获得分页的DATASET资源
ALTER PROC sp_GetSource(
@PageSize INT,    --每页显示条数
@PageIndex INT,    --页码(从1开始)
@RowCount    INT OUTPUT,    --数据总数
@PageCount    INT OUTPUT--总页数
)
AS
BEGIN
--获取数据总数
SELECT @RowCount = COUNT(*)
FROM [tblUser]
--计算总页数
SET @PageCount = @RowCount / @PageSize
IF @RowCount % @PageSize > 0
BEGIN
SET @PageCount = @PageCount + 1
END
--获取当前页的数据
SELECT [userID],[UserName],[UserLoginName],[RoleID]
FROM
(
SELECT [userID],[UserName],[UserLoginName],[RoleID],ROW_NUMBER() OVER(ORDER BY [userID] ASC) AS RowNumber
FROM [tblUser]
) T
WHERE RowNumber BETWEEN ((@PageIndex - 1)*@PageSize + 1) AND (@PageIndex * @PageSize)

END
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: