国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

sql2005 存儲過程分頁代碼

2024-08-31 01:01:16
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:


create database Test
on primary (,
filename='D:/我的資料/sql/備份/Test_Data.mdf'
)
log on
(
name='Test_Data.ldf',
filename='D:/我的資料/sql/備份/Test_Data.ldf'
)

if object_id('tb') is not null drop table tb
create table tb
(
Col int
)
insert into tb select top 50 number from master..spt_values where type='P' and number>0

create 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
-----------
50
49
48
47
46
45
44
43
42
41

(10 行受影響)

exec SplitPage 'tb',10,3,'Col','DESC'
Col
-----------
30
29
28
27
26
25
24
23
22
21

(10 行受影響)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 华安县| 灵丘县| 白银市| 林甸县| 万山特区| 长丰县| 赤壁市| 阿坝| 上犹县| 连州市| 宁德市| 宣恩县| 凤冈县| 五华县| 长沙市| 阿合奇县| 嵩明县| 南开区| 呼伦贝尔市| 盘锦市| 隆德县| 仪征市| 通江县| 抚松县| 温泉县| 苏州市| 山阳县| 永清县| 邵阳县| 凤山市| 延安市| 麻栗坡县| 墨江| 平山县| 佛教| 永城市| 麦盖提县| 威远县| 宜川县| 错那县| 普定县|