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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值