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