SQL分頁讀取資料 儲存過程

2022-02-21 16:39:50 字數 997 閱讀 3934

create proc sp_page

@pagenum int

asset nocount on /*-----這一句很重要,不然它只會認 insert #change......這個資料集:))*/

declare @sql nvarchar(500) --宣告動態sql執行語句

declare @pagecount int --當前頁數

--取得當前資料庫的記錄總數

declare @row_num int

begin

select @row_num=count(*) from h_emparchives

--建立臨時表,作為資料過濾

create table #change (t_id int)

--判斷當前頁數

if @row_num>50 --大於頁面顯示記錄數,則分頁

begin

set @row_num=@pagenum*50

if @row_num=50

select top 50 * from h_emparchives

else

begin

set @row_num=(@pagenum-1)*50

set @pagecount=@row_num

set @sql=n'insert #change (t_id) select top '+cast(@pagecount as char(100))+' t_id from h_emparchives where t_id not in (select t_id from #change)'

exec sp_executesql @sql

select top 50 * from h_emparchives where t_id not in (select t_id from #change)

endend

else --只現實全部的資料

select * from h_emparchives

endgo

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...