2000:
首先獲得所有的記錄集合的儲存過程:
create procedure[dbo].[p_getordernumber]
asselectcount(orderid)fromorders;----orders為表
return
分頁的儲存過程
create procedure[dbo].[p_getpagedorders2000]
(@startindexint, ---開始頁數
@pagesizeint----每一頁顯示的數目)as
setnocounton
declare@indextabletable(idintidentity(1,1),nidint) ----定義乙個表變數
declare@pageupperboundint
set@pageupperbound=@startindex+@pagesize-1
setrowcount@pageupperbound
insertinto@indextable(nid)selectorderidfromordersorderbyorderiddesc
selecto.orderid,o.orderdate,o.customerid,c.companyname,e.firstname+''+e.lastnameasemployeename
fromorderso
leftouterjoincustomersc
ono.customerid=c.customerid
leftouterjoinemployeese
ono.employeeid=e.employeeid
innerjoin@indextableton
o.orderid=t.nid
wheret.idbetween@[email protected] ----實現分頁的關鍵
setnocountoff
2005:
create [dbo].[p_getpagedorders2005]
(@startindexint,
@pagesizeint)as
begin
withorderlistas(
selectrow_number()over(orderbyo.orderiddesc)asrow,o.orderid,o.orderdate,o.customerid,c.companyname,e.firstname+''+e.lastnameasemployeename
fromorderso
leftouterjoincustomersc
ono.customerid=c.customerid
leftouterjoinemployeese
ono.employeeid=e.employeeid)
selectorderid,orderdate,customerid,companyname,employeename
fromorderlist
whererowbetween@startindexand@startindex+@pagesize-1
end
分頁實現方式
分頁實現方式 方法一 直接通過rownum分頁 select from select a.rownum rn from select from product a where company id order by status a where rownum 20 where rn 10 資料訪問開...
常見的分頁的實現方式 簡介
mysql select from tablename limit m,n m從 開始,n資料的條數 postgresql select from tablename limit n offset m oracle select from select s.rownum rn from select...
分頁實現的三種方式
分頁問題是乙個非常普遍的問題,開發者幾乎都會遇到,這裡不討論具體如何分頁,說明一下web方式下分頁的原理。首先是查詢獲得乙個結果集 表現為查詢資料庫獲得的結果 如果結果比較多我們一般都不會一下顯示所有的資料,那麼就會用分頁的方式來顯示某些資料 比如20條 因為http的無狀態性,每一次提交都是當作乙...