Sql 資料分頁解決方案

來源:互聯網
上載者:User
分頁|解決|資料 很多開始學習編程的朋友們在使用資料庫自訂分頁的時候,會遇到寫不好資料分頁預存程序的問題。

這裡我就自己的一點經驗和學習心得提供幾種資料庫內分頁的預存程序和大家分享一下。

1、 使用top
1.1利用目前記錄號(currentnote)和分頁頁面大小(pagesize)進行分頁








create proc GetNextPageInfo2

@pagesize int, --page size

@currentnote int --current note

As








declare @sql nvarchar(200)








set @sql=N'select top '+convert(varchar(10),@pagesize)+

' * from dbo.Userinfo where userid > ' + convert(varchar(10),@currentnote)

exec sp_executesql @sql

go








1.2利用本頁頁碼和分頁頁面大小進行分頁

create proc GetNextPageInfo

@pagesize int, --page size

@page int --CurrentPage NO

As








declare @jilu bigint

set @jilu=(@pagesize*@page)








declare @sql nvarchar(200)








set @sql=N'select top '+convert(varchar(10),@pagesize)+

' * from dbo.Userinfo where userid not in (select top ' + convert(varchar(10),@jilu) +

' userid from Userinfo order by userid) order by userid'

exec sp_executesql @sql

go

兩種方式比較:第一種執行效率應該高於第二種,不過再id號多變的情況下第二種方法使用起來相對簡單。








2、 使用rowcount

3、 2.1利用目前記錄號(currentnote)和分頁頁面大小(pagesize)進行分頁

create proc GetNextPageInfo3

@pagesize int, ----分頁大小

@currentnote int ----當前頁最後一條記錄號

as

set rowcount @pagesize








select * from userinfo where userid>@currentnote

















當然,除上面的幾種外因該還有很多其他方法。希望大家在以後學習的過程中能過多多交流,大家也好共同進步。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。