AspNetPager 的存储过程

ALTER   PROCEDURE  P_GetOrderNumber
AS
    
select   count (orderid)  from  orders;
    
RETURN

ALTER   procedure  P_GetPagedOrders2000
(
@startIndex   int ,
@pageSize   int
)
as
set  nocount  on
declare   @indextable   table (id  int   identity ( 1 , 1 ),nid  int )
declare   @PageUpperBound   int
set   @PageUpperBound = @startIndex + @pagesize - 1
set   rowcount   @PageUpperBound
insert   into   @indextable (nid)  select  orderid  from  orders  order   by  orderid  desc
select  O.orderid,O.orderdate,O.customerid,C.CompanyName,E.FirstName + '   ' + E.LastName  as  EmployeeName 
from  orders O
left   outer   join  Customers C
on  O.CustomerID = C.CustomerID
left   outer   join  Employees E
on  O.EmployeeID = E.EmployeeID
inner   join   @indextable  t  on  
O.orderid
= t.nid
where  t.id  between   @startIndex   and   @PageUpperBound   order   by  t.id
set  nocount  off
    
RETURN

ALTER   PROCEDURE  P_GetPagedOrders2005
(
@startIndex   INT
 
@pageSize   INT
 )
AS
begin
WITH  orderList  AS  ( 
SELECT  ROW_NUMBER()  OVER  ( ORDER   BY  O.orderid  DESC ) AS  Row, O.orderid,O.orderdate,O.customerid,C.CompanyName,E.FirstName + '   ' + E.LastName  as  EmployeeName 
from  orders O
left   outer   join  Customers C
on  O.CustomerID = C.CustomerID
left   outer   join  Employees E
on  O.EmployeeID = E.EmployeeID)

SELECT  orderid,orderdate,customerid,companyName,employeeName
FROM  orderlist
WHERE  Row  between   @startIndex   and   @startIndex + @pageSize - 1


end

 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值