分頁儲存過程

2021-05-25 00:26:21 字數 1788 閱讀 2471

支援:多表連線查詢、group by分組查詢等。(多表連線查詢時請指定字段,不要用select *)

返回為一結果集,有乙個輸出引數為記錄總數,配合

aspnetpager控制項使用絕配。

create

procedure

web_pager(

@rowstotal

intoutput,

--輸出記錄總數

@tablename

varchar

(800

),--

表名@fieldname

varchar

(800

),--

查詢字段

@keyname

varchar

(200

),--

索引字段

@pagesize

int,

--每頁記錄數

@pagenow

int,

--當前頁

@stringorder

varchar

(200

),--

排序條件

@stringwhere

varchar

(800)--

where條件)as

begin

declare

@beginrow

intdeclare

@endrow

intdeclare

@templimit

varchar

(200

)declare

@tempcount

nvarchar

(1000

)declare

@tempmain

varchar

(1000

)set@beginrow=(

@pagenow-1

)*@pagesize+1

set@endrow

=@pagenow

*@pagesize

set@templimit='

rowsbetween'+

cast

(@beginrow

asvarchar)+

'and'+

cast

(@endrow

asvarchar

)--輸出引數為總記錄數

set@tempcount='

select@rowstotal=count(*)from(select'+

@keyname+'

from'+

@tablename+'

where'+

@stringwhere+'

)asmy_temp

'execute

sp_executesql

@tempcount,n'

@rowstotalintoutput',

@rowstotal

output

--主查詢返回結果集

set@tempmain='

select*from(selectrow_number()over('+

@stringorder+'

)asrows,'+

@fieldname+'

from'+

@tablename+'

where'+

@stringwhere+'

)asmain_tempwhere'+

@templimit

execute

(@tempmain

)end

分頁儲存過程 分頁儲存過程

分頁儲存過程 alter proc dbo p pageshow pagesize int,每頁大小 currentpage int out,當前頁 housename nvarchar 50 房產名稱 totalcount int out,總記錄數 totalpage int out 總頁數 as...

分頁儲存過程

create proc p sobigo percentpage tblname varchar 255 t category 表名 strgetfields varchar 1000 需要返回的列 fldname varchar 255 排序的欄位名 pagesize int 10,頁尺寸 pag...

分頁儲存過程

create procedure pro select pageindex int,pagesize int as select student.sno,student.sname,student.s grade.math,grade.physics,grade.huaxue,grade.chine...