create
database
test
onprimary
( name='
test_data.mdf',
filename='
d:/我的資料/sql/備份/test_data.mdf')
logon
(name='
test_data.ldf',
filename='
d:/我的資料/sql/備份/test_data.ldf')
ifobject_id('
tb') is
notnull
drop
table
tbcreate
tabletb(
col
int)
insert
into
tb select
top50
number
from
master..spt_values
where
type='
p'andnumber
>
0create
proc
splitpage
(@tablename
nvarchar(50
), @pagesize
int,
--每頁顯示的數量
@currentpage
int,
--當前第幾頁
@pagecol
nvarchar(50
),--
排序字段
@orderno
nvarchar(50
)--排序方式(desc,asc))as
/*測試用的
declare @pagecol nvarchar(50)
declare @tablename nvarchar(50)
declare @orderno nvarchar(50)
declare @pagesize int
declare @currentpage int
set @pagecol='col'
set @tablename='tb'
set @orderno='desc'
set @pagesize=10
set @currentpage=4
*/declare
@sql
nvarchar
(1000
)set
@sql=''
set@sql='
;with hgo as
(select *,row_number() over(
order by '+
@pagecol+'
'+@orderno+'
) rank
from '+
@tablename+'
)'set@sql
=@sql+'
select col from hgo where rank between '+
ltrim
((@currentpage-1
)*@pagesize+1
)+'and '+
ltrim
(@currentpage
*@pagesize)--
print @sql
exec
(@sql
)exec
splitpage 'tb
',10,
1,'col',
'desc
'col
-----------
5049
4847
4645
4443
4241(10
行受影響)
exec
splitpage 'tb
',10,
3,'col',
'desc
'col
-----------
3029
2827
2625
2423
2221(10
行受影響)
分頁儲存過程 分頁儲存過程
分頁儲存過程 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...