ALTER procedure P_GetPagedOrders2000
(@startIndex int,
@endIndex int
)
as
set nocount on
declare @indextable table(id int identity(1,1),nid int)
set rowcount @endIndex
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 @endIndex order by t.id
set nocount off
RETURN
这是个分页控件的存储过程,看不懂里面的东东  大牛们帮忙可以改成sql语句吗

解决方案 »

  1.   


    declare @startIndex int
    declare @endIndex int
    set @startIndex=11
    set @endIndex=20set nocount on
    declare @indextable table(id int identity(1,1),nid int)
    set rowcount @endIndex
    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 @endIndex order by t.id
    set nocount off