很好的分頁儲存過程

2021-06-02 02:34:16 字數 859 閱讀 9783

create procedure dbo.pager

( --取得當前頁數

@pagenum int,

--取得每頁記錄數

@rowcount int,

--返回記錄總數

@count int output

) as

--定義起始記錄id

declare @start int

--定義結束記錄id

declare @end int

--設定起始記錄id,與當前頁數和每頁記錄數相關。

set @start=@pagenum*@rowcount

--設定結束記錄id,與當前頁數和每頁記錄數相關,起始記錄id減去每頁記錄數即為當前頁的記錄數。

set @end=@start-@rowcount

--設定選取記錄數

set rowcount @start

--將選取的記錄插入臨時表

select * into #t1 from mytable

--設定刪除的記錄數

set rowcount @end

--不是第一頁時刪除表,第一頁時不刪除表中資料。

if @end>0

--刪除臨時表中不必要的資料

delete #t1

--不限制選取的記錄數

set rowcount 0

--顯示臨時表中的資料

select * from #t1

--declare @count int

select @count=count(*) from mytable

go

分頁的儲存過程,很好用的。

create proc sqlpager sqlstr nvarchar 4000 查詢字串 currentpage int,第n頁 pagesize int,每頁行數 pagecount int output 總頁數 asset nocount on declare p1 int,p1是游標的id...

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

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

分頁的儲存過程

alter procedure sql conn sort tblname varchar 255 表名 strgetfields varchar 1000 需要返回的列 fldname varchar 255 排序的欄位名 pagesize int 頁尺寸 pageindex int 頁碼 doc...