sql2000下 分頁儲存過程

2021-04-17 05:58:18 字數 1445 閱讀 8306

set quoted_identifier off

goset ansi_nulls on

go--名稱:分頁儲存過程

--使用示例 exec sp_pageindex '*',' from stusources ',2,10

--注意

--目前還沒有對輸入的引數進行嚴格的驗證

--預設為輸入都是合法有效的

alter  proc sp_pageindex

@sqlselect varchar(800) --select 後面 from 前面 的 字段 不用包含select

,@sqlfrom varchar(800) --from 後面 的 字段 包含from

,@countperpage int -- 每頁資料行數

,@topage int --要轉到的頁碼

as begin

-- 根據每頁資料行數 和 要轉到的頁碼 得到 資料起止點

declare @start int

declare @end int

set @end = @countperpage * @topage

set @start = @countperpage * (@topage - 1) + 1

-- 臨時表名稱 可隨機命名

declare @tmptable varchar(10)

set @tmptable ='#tmp'

declare @sqlstr varchar(800)

-- 建立資料來源到臨時表

select @sqlstr = 'select identity(int,1,1) as rowindex,'

select @sqlstr = @sqlstr + rtrim(@sqlselect) + ' into  '+ @tmptable

select @sqlstr = @sqlstr + rtrim(@sqlfrom)

-- 查詢臨時表 得到所需要的資料

select @sqlstr = @sqlstr + ' '+'select '+ rtrim(@sqlselect) +' from ' + @tmptable

select @sqlstr = @sqlstr + ' where  rowindex between ' + convert(char,@start) + " and " + convert(char,@end)

-- 刪除臨時表

sql2000儲存過程

自 http www.cnblogs.com a13971240 archive 2008 10 22 1316747.html create proc getdataset tablelist varchar 200 搜尋表的字段,比如 id,datatime,job 用逗號隔開 tablenam...

sql2000儲存過程

create proc getdataset tablelist varchar 200 搜尋表的字段,比如 id,datatime,job 用逗號隔開 tablename varchar 30 搜尋的表名 selectwhere varchar 500 搜尋條件,這裡不用寫where,比如 job...

sql 2000 分頁儲存過程

setansi nulls onset quoted identifier ongo selectbase 1,1,select j.u.p name from job j left join users u on j.userid u.id t flag 0 alter procedure sel...