SQL 常用sql分頁解決方案

2021-04-17 18:46:34 字數 2023 閱讀 7839

--

分頁方案一:(利用not in和select top分頁)

--語句形式:

select

top10

*from

testtable

where

(id

notin

(select

top20

idfrom

testtable

order

byid))

order

byid

select

top頁大小

*from

testtable

where

(id

notin

(select

top頁大小

*頁數 id

from

表order

byid))

order

byid

-------------------------------------

--分頁方案二:(利用id大於多少和select top分頁)

--語句形式:

select

top10

*from

testtable

where

(id

>

(select

max(id)

from

(select

top20

idfrom

testtable

order

byid)

ast))

order

byid

select

top頁大小

*from

testtable

where

(id

>

(select

max(id)

from

(select

top頁大小

*頁數 id

from

表order

byid)

ast))

order

byid

-------------------------------------

--分頁方案三:(利用sql的游標儲存過程分頁)

create

procedure

xiaozhengge

@sqlstr

nvarchar

(4000

), --

查詢字串

@currentpage

int,

--第n頁

@pagesize

int--

每頁行數

asset

nocount

ondeclare

@p1int

, --

p1是游標的id

@rowcount

intexec

sp_cursoropen

@p1output,

@sqlstr

,@scrollopt=1

,@ccopt=1

,@rowcount

=@rowcount

output

select

ceiling

(1.0

*@rowcount

/@pagesize

) as

總頁數--

,@rowcount as 總行數,@currentpage as 當前頁

set@currentpage=(

@currentpage-1

)*@pagesize+1

exec

sp_cursorfetch

@p1,16,

@currentpage

,@pagesize

exec

sp_cursorclose

@p1set

nocount

off

Sql 資料分頁解決方案

很多開始學習程式設計的朋友們在使用資料庫自定義分頁的時候,會遇到寫不好資料分頁儲存過程的問題。這裡我就自己的一點經驗和學習心得提供幾種資料庫內分頁的儲存過程和大家分享一下。1 使用top 1.1利用當前記錄號 currentnote 和分頁頁面大小 pagesize 進行分頁 create proc...

Sql 資料分頁解決方案

很多開始學習程式設計的朋友們在使用資料庫自定義分頁的時候,會遇到寫不好資料分頁儲存過程的問題。這裡我就自己的一點經驗和學習心得提供幾種資料庫內分頁的儲存過程和大家分享一下。1 使用 top1.1 利用當前記錄號 currentnote 和分頁頁面大小 pagesize 進行分頁 create pro...

SQL注入解決方案

sql作為字串通過api傳入給資料庫,資料庫將查詢的結果返回,資料庫自身是無法分辨傳入的sql是合法的還是不合法的,它完全信任傳入的資料,如果傳入的sql語句被惡意使用者控制或者篡改,將導致資料庫以當前呼叫者的身份執行預期之外的命令並且返回結果,導致安全問題。根據相關技術原理,sql注入可以分為平台...