CREATE PROC UP_GetProductByPage
@pageSize int,
@pageNumber int
AS
Declare @rowStart int
Declare @rowEnd int
if @pageNumber > 0
Begin
SET @pageNumber = @pageNumber -1
SET @rowStart = @pageSize * @pageNumber + 1;
SET @rowEnd = @rowStart + @pageSize - 1 ;
With Temp AS --用with申明一张Temp表,保存查询结果
( SELECT *, --[*]可以指定具体的哪些要查询的列名
ROW_NUMBER() OVER (order by ProductID) as rowNumber --[ProductID]是用来排序的字段,[rowNumber]指定一个行号,以方便分页
FROM Product ) --[Product]指定在查询的表名
select *
from Temp
Where rowNumber >= @rowStart and rowNumber <= @rowEnd
END
--执行
--仅需指定页面大小和页数目(GetProductByPage , @pageSize and @pageNumber)即可运行此存储过程,代码如下:
exec UP_GetProductByPage 10,1
--注释:begin 与 end 相当于程序中的“{ ”左大括号,“}”右大括号,是成双成对存在。且要匹配。