- 博客(0)
- 资源 (1)
空空如也
分页存储过程
USE [news]
GO
/****** Object: StoredProcedure [dbo].[pro_GetPagedData] Script Date: 09/24/2014 17:49:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--创建分页存储过程
CREATE PROCEDURE [dbo].[pro_GetPagedData]
@pageIndex INT,--输入参数,页号
@pageSize INT,--输入参数,每页容量
@rowCount INT OUTPUT,--输出参数,总行数
@pageCount INT OUTPUT--输出参数,总页数
AS
BEGIN
SELECT @rowCount = COUNT(ID) FROM News--查找表来设置总行数
IF((@rowCount)%(@pageSize) = 0)--如果总行数正好能整除每页容量,页数就是商
SET @pageCount = (@rowCount) / (@pageSize)
ELSE--总行数不能整除每页容量,把最后几个不足一页的单独算一页,页数加1
SET @pageCount = (@rowCount) / (@pageSize) + 1
--用ROW_NUMBER新增加一列
SELECT TOP (@pageSize) * FROM
(SELECT ROW_NUMBER() OVER(ORDER BY convert(int,ID) desc) AS num, * FROM News) AS tempTable --要使用临时表中字段,必须给临时表加别名
WHERE tempTable.num > ((@pageIndex-1)*@pageSize) AND tempTable.num <= (@pageSize * @pageIndex)
END
GO
2014-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人