很強的分頁儲存過程,速度超快

2021-03-31 08:56:58 字數 810 閱讀 6047

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 procedure dbo.pager 取得當前頁數 pagenum int,取得每頁記錄數 rowcount int,返回記錄總數 count int output as 定義起始記錄id declare start int 定義結束記錄id declare end int 設定起始...

很強的分頁儲存過程,速度超快

create procedure dbo.pager 取得當前頁數 pagenum int,取得每頁記錄數 rowcount int,返回記錄總數 count int output as 定義起始記錄id declare start int 定義結束記錄id declare end int 設定起始...

超棒的儲存過程分頁寫法

question獲取所有列表 分頁 排序 建立儲存過程 create procedure dbo pr question getpagedlistall startrowindex int,起始記錄號 maximumrows int,記錄數 sortexpression varchar 1000 排...