--写一个分页查询订单详情的存储过程
drop proc GetPageForOrderD
go
create proc GetPageForOrderD
--四个参数,第几页,每页多少条,一共多少条,一共多少页
@pageindex int,
@rowsinpage int,
@rowscount int output,
@pagescount int output
as
begin
select t2.OrderID
,t2.ProductID
,t2.Quantity
,t2.UnitPrice
,t2.Discount
from
(select *,rN=ROW_NUMBER() over(order by orderId)from [Order Details])as t2
where t2.rN between (@pageindex-1)*@rowsinpage+1 and @pageindex*@rowsinpage
set @rowscount =(select count(*) from [Order Details])
set @pagescount =CEILING(@rowscount*1.00/@rowsinpage)--ceiling 向上取整
end
-- @pageindex int,
--@rowsinpage int,
--@rowscount int output,
--@pagescount int output
declare @countr int ,@countp int
exec GetPageForOrderD @pageindex=3,@rowsinpage=20,
@rowscount=@countr output,@pagescount=@countp output
select '一共多少行', @countr
select '一共多少页',@countp
SQL 写一个分页查询订单详情的存储过程
猜你喜欢
转载自blog.csdn.net/BowenXu11/article/details/104753449
今日推荐
周排行