SQL 儲存過程分頁

2021-06-07 04:27:12 字數 1397 閱讀 8381

--儲存過程分頁方法一

if exists (select * from sys.procedures where name='proc_commonpage')

drop procedure proc_commonpage

gocreate procedure proc_commonpage  --儲存過程名及引數值

@pagecount int,--每頁條數[1-n]

@pagenow int, --當前頁數

@count int output --總行數

asdeclare @sql varchar(2000)   --定義sql字串

declare @sqlcount varchar(500)

declare @counttemp int      --common記錄數數

set @sql='select top '+cast(@pagecount as varchar)+' * from student where no'+' not in

(select top '+cast(@pagecount*(@pagenow-1)as varchar)+' no from student)'

exec(@sql)

set @sqlcount='select'+cast(@counttemp as varchar)+'=count(1) from student'

exec(@sqlcount)

set @count=@counttemp/@pagecount+1

--測試

declare @xx int

exec proc_commonpage 5,1,@xx output

--儲存過程分頁方法二

if exists (select * from sys.procedures where name='proc_commonpage')

drop procedure proc_commonpage

gocreate procedure proc_commonpage(@pageindex int, @pagesize int) --頁碼[0-n],條數

asdeclare @rowcount int

select @rowcount=count(1) from student

select * from (select row_number() over (order by no)as 'rowindex',* from student)as temptable

where rowindex > @pageindex * @pagesize

androwindex <= @pagesize *(@pageindex+1)

return @rowcount

--測試

exec proc_commonpage 0,5

sql 儲存過程分頁

create proc myx prpagerecordset querystr nvarchar 1000 keyfield nvarchar 200 pagesize int,pagenumber int as begin declare sqltext as nvarchar 4000 dec...

SQL 儲存過程 分頁

1.俄羅斯儲存過程 的改良版 create procedure pagination1 pagesize int,頁面大小,如每頁儲存20條記錄 pageindex int 當前頁碼 as set nocount on begin declare indextable table id int id...

SQL 分頁儲存過程

create procedure splitpage sql nvarchar 4000 不帶排序語句的sql語句 page int,頁碼 recsperpage int,每頁容納的記錄數 id varchar 255 需要排序的不重複的id號 sort varchar 255 排序欄位及規則 as...