SQL分頁資料查詢

2021-04-13 14:10:36 字數 1372 閱讀 3790

在許多資料庫應用系統中,會對資料進行大量的查詢操作。當查詢資料量比較大時查詢所用的時間就會變得較慢,所以我們希望可以分批的獲取資料。

特寫了乙個儲存過程用於分批獲取資料。鑑於游標效率低,故此處沒有採用。

create

procedure

selectpage 

@tablename

nvarchar(64

), @keyfield

nvarchar(64

), @fields

nvarchar

(512

), @pageindex

int, 

@pagesize

int=

15as

declare

@sql

nvarchar

(512

)if@pageindex=1

begin

set@sql='

select top '+

convert

(nvarchar(8

),@pagesize) +

''+@fields+'

from '+

@tablename

endelse

begin

set@sql='

select top '+

convert

(nvarchar(8

),@pagesize) +

''+@fields+'

from '+

@tablename

set@sql

=@sql+'

where '+

@keyfield+'

> (select max('+

@keyfield+'

) from (select top 

'set@sql

=@sql

+convert

(nvarchar(8

), @pagesize*(

@pageindex-1

)) +

'* from '+

@tablename+'

order by '+

@keyfield+'

) t)

'end

--print @sql

exec

sp_executesql 

@sql

引數說明:

@tablename:要查詢的資料表名稱

@keyfield:資料表主鍵字段

@fields:要查詢的欄位名列表,使用逗號分隔,最後乙個欄位名後不需要逗號

@pageindex:要查詢的頁面索引

@pagesize:每頁資料筆數,預設為15,即每頁15筆資料

sql server中的分頁資料查詢

今天在工作中遇到乙個需要進行sql server分頁資料查詢的問題,但是分頁資料查詢的sql卻忘記了,最終通過查詢資料解決了該問題。現在把解決方法記下,以備查閱。在這裡需要感謝的qlin 假設需要查詢表為test,test表中有個字段為id 我這裡用的是int型 當前頁pageindex 5,頁大小...

SQL 資料查詢

一 簡單查詢 1.查詢所有字段 select from 表名 查詢所有學生的資訊 select from student查詢指定字段 可視為投影運算 select 字段列表 逗號隔開 from 表名 查詢班級 姓名 學號資訊 select sclass,snumb,sname from studen...

SQL資料查詢2

use hcreate table zy1 empno int,ename varchar 10 job varchar 10 mgr int,hiredate date,sal double coom double deptno int drop table zy1 desc zy1 select...