我爱Aspx >> C#.Net >> SQL Server 2000和 SQL Server 2005实现分页的方式_数据库技巧
2000:
首先获得所有的记录集合的存储过程:
create PROCEDURE [dbo].[P_GetOrderNumber]
AS
select count(orderid) from orders;----orders为表
RETURN
分页的存储过程
create procedure [dbo].[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
2005:
create [dbo].[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
Ҷƪл˵?
PHP怎样调用MSSQL的存储过程 _PH..[04-28]
在ACCESS 中调用后台存储过程_数..[04-28]
bbs的数据结构和存储过程(一)_..[04-28]
bbs的数据结构和存储过程(二)_..[04-28]
bbs的数据结构和存储过程(三)_..[04-28]
金额阿拉伯数字转换为中文的存储..[04-28]
用存储过程实现ASP对数据库访问_..[04-28]
存储过程入门与提高_数据库教程[04-28]
用XML和SQL 2000来管理存储过程调..[04-28]
使用SQLSERVER的扩展存储过程实现..[04-28]
用排序串字段实现树状结构(存储..[04-28]
存储过程对页面访问速度的影响_A..[04-28]
实现分页的例子-使用存储过程来实..[04-28]
存储过程分页_ASP技巧[04-28]
ASP中巧用存储过程_ASP技巧[04-28]
PHP怎样调用MSSQL的存储过程 _PH..[04-28]
在ACCESS 中调用后台存储过程_数..[04-28]
bbs的数据结构和存储过程(一)_..[04-28]
bbs的数据结构和存储过程(二)_..[04-28]
bbs的数据结构和存储过程(三)_..[04-28]