SQL 写一个分页查询订单详情的存储过程

  --写一个分页查询订单详情的存储过程
  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
发布了55 篇原创文章 · 获赞 4 · 访问量 1417

猜你喜欢

转载自blog.csdn.net/BowenXu11/article/details/104753449
今日推荐