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 --要轉到的頁碼
asbegin
-- 根據每頁資料行數 和 要轉到的頁碼 得到 資料起止點
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)
-- 刪除臨時表
select @sqlstr = @sqlstr + ' '+'drop table '+@tmptable
exec (@sqlstr)
endgo
set quoted_identifier off
goset ansi_nulls on
分頁儲存過程 分頁儲存過程
分頁儲存過程 alter proc dbo p pageshow pagesize int,每頁大小 currentpage int out,當前頁 housename nvarchar 50 房產名稱 totalcount int out,總記錄數 totalpage int out 總頁數 as...
分頁儲存過程
create proc p sobigo percentpage tblname varchar 255 t category 表名 strgetfields varchar 1000 需要返回的列 fldname varchar 255 排序的欄位名 pagesize int 10,頁尺寸 pag...
分頁儲存過程
create procedure pro select pageindex int,pagesize int as select student.sno,student.sname,student.s grade.math,grade.physics,grade.huaxue,grade.chine...