單個分頁的儲存過程

2021-08-22 10:40:14 字數 1932 閱讀 2468

/*

descript:單頁資料儲存過程

author:xqf222

date:10:38 2007-7-31

*/create procedure sp_singlepagedata(

@tablename nvarchar(200), ----要顯示的表或多個表的連線

@selectfields nvarchar(200) = '*', ----要顯示的字段列表

@primaryfiled nvarchar(50), ----主表的主鍵

@sortfield nvarchar(100) = null, ----排序字段列表或條件

@sortorder bit = 0, ----排序方法,0為公升序,1為降序

@selectcondition nvarchar(200) = null,----不帶where字串的查詢條件

@totalcounts int output ----返回查詢到的記錄總數)as

declare @sqltmp nvarchar(1000) ----存放動態生成的sql語句

declare @strtmp nvarchar(1000) ----存放取得查詢結果總數的查詢語句

declare @sqlsort nvarchar(200) ----存放臨時生成的排序條件

--生成查詢語句--------

--此處@strtmp為取得查詢結果數量的語句

if @selectcondition is null --沒有設定顯示條件

begin

set @sqltmp = 'select ' + @selectfields + ' from ' + @tablename

set @strtmp = 'select @totalcounts=count(' + @primaryfiled + ') from '+@tablename

endelse

begin

set @sqltmp = 'select ' + @selectfields + ' from ' + @tablename + ' where ' +

@selectcondition

set @strtmp = 'select @totalcounts=count(' + @primaryfiled + ') from '+@tablename + '

where ' + @selectcondition

end--取得查詢結果總數量-----

exec sp_executesql @strtmp,n'@totalcounts int out ',@totalcounts out

--print @totalcounts

--生成排序字串

if @sortorder=0 --公升序

begin

if not(@sortfield is null)

set @sqlsort = ' order by ' + @sortfield

else

set @sqlsort = ' order by ' + @primaryfiled

endelse --降序

begin

if not(@sortfield is null)

set @sqlsort = ' order by ' + @sortfield + ' desc'

else

set @sqlsort = ' order by ' + @primaryfiled + ' desc '

end--生成最終查詢字串

if @sqlsort is null

set @sqltmp = @sqltmp

else

set @sqltmp = @sqltmp + @sqlsort

--print @sqltmp

exec sp_executesql @sqltmp

go

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

分頁儲存過程 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...

儲存過程的分頁!!

create proc up gettopiclist a strforumid varchar 50 a intpageno int a intpagesize int as 定義區域性變數 declare intbeginid int declare intendid int declare i...