create procedure [dbo].[getrecordfrompage]
@tblname varchar(255), -- 表名
@fldname varchar(255), -- 欄位名
@pagesize int = 10, -- 頁尺寸
@pageindex int = 1, -- 頁碼
@ordertype bit = 0, -- 設定排序型別, 非0 值則降序
@iscount bit = 0, -- 返回記錄總數, 非0 值則返回
@strwhere varchar(2000) = '' -- 查詢條件(注意: 不要加where)
asdeclare @strsql varchar(6000) -- 主語句
declare @strtmp varchar(1000) -- 臨時變數
declare @strorder varchar(500) -- 排序型別
if @ordertype != 0
begin
set @strtmp = '<(select min'
set @strorder = ' order by [' + @fldname + '] desc'
endelse
begin
set @strtmp = '>(select max'
set @strorder = ' order by [' + @fldname +'] asc'
endset @strsql = 'select top ' + str(@pagesize) + ' * from ['
+ @tblname + '] where [' + @fldname + ']' + @strtmp + '(['
+ @fldname + ']) from (select top ' + str((@pageindex-1)*@pagesize) + ' ['
+ @fldname + '] from [' + @tblname + ']' + @strorder + ') as tbltmp)'
+ @strorder
if @strwhere != ''
set @strsql = 'select top ' + str(@pagesize) + ' * from ['
+ @tblname + '] where [' + @fldname + ']' + @strtmp + '(['
+ @fldname + ']) from (select top ' + str((@pageindex-1)*@pagesize) + ' ['
+ @fldname + '] from [' + @tblname + '] where ' + @strwhere + ' '
+ @strorder + ') as tbltmp) and ' + @strwhere + ' ' + @strorder
if @pageindex = 1
begin
set @strtmp = ''
if @strwhere != ''
set @strtmp = ' where (' + @strwhere + ')'
set @strsql = 'select top ' + str(@pagesize) + ' * from ['
+ @tblname + ']' + @strtmp + ' ' + @strorder
endif @iscount != 0
set @strsql = 'select count(' + @fldname + ') as total from [' + @tblname + ']'
exec (@strsql)
go
分頁SQL語句 儲存過程
分頁儲存過程一 alter procedure dbo fy startrowindex int,maximumrows int asbegin select from select ugid,uname,row number over order by ugid desc rownum from ...
儲存過程分頁Sql語句
create proc proc page pageindex int,當前頁碼 pagesize int,每頁多少條 tablename nvarchar 50 所要查詢的表名稱 pagecount int output,計算 總共多少頁 recordcount int output 記錄的總數量...
SQL分頁語句及簡單的SQL分頁儲存過程
假分頁 從資料庫中選擇所有的記錄後再進行分頁 真分頁 只從資料庫中選擇當前頁的記錄 sql select top每頁顯示的記錄數 fromtopicwhereid not in select top 當前的頁數 1 每頁顯示的記錄數 idfromtopicorder byiddesc order b...