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
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