您的位置:首页 > 编程语言 > ASP

AspNetPager的存储过程

2016-07-19 08:32 393 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: