分頁儲存過程

2021-05-22 17:41:48 字數 1015 閱讀 7688

--建立測試表

if object_id('[tb]') is not null

drop table [tb]

gocreate table [tb]([col] nvarchar(10))

--填充資料

insert tb

select top 26 col1=char(64+row_number()over(order by getdate()))

from sys.objects

--建立分頁的儲存過程

if object_id('[sp_page]') is not null

drop proc [sp_page]

gocreate proc sp_page

@tablename nvarchar(50),--表名

@pagerow int=0,--每頁顯示的行數(0為全部)

@pagenow int=1, --要顯示第幾頁(預設為)

@ordercol varchar(50)=null, --排序字段

@order bit=0 --排序規則0順序,1倒序

asdeclare @s nvarchar(max)

set @s='

with t as

select

rownum=row_number()over(order by '+isnull(@ordercol,'getdate()')+

case @order when 1 then ' desc' else ' asc' end+'),

from '+@tablename +'

select *

from t'

if @pagerow>0

set @s=@s+'

where rownum between '+ltrim(@pagerow*(@pagenow-1)+1)+'

and '+ltrim(@pagerow*@pagenow)

exec(@s)

go--返回tb表每頁行第頁的記錄

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

分頁儲存過程 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...