亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

MsSql 存儲過程分頁代碼 [收集多篇]

2020-07-25 13:34:14
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

--使用說明 本代碼適用于MsSql2000,對于其它數據庫也可用.但沒必要
--創建存儲過程
CREATE PROCEDURE pagination
@tblName varchar(255), -- 表名
@strGetFields varchar(1000) = '*', -- 需要返回的列
@fldName varchar(255)='', -- 排序的字段名(可包含如TABLE.FLDNAME形式)
@PageSize int = 10, -- 頁尺寸
@PageIndex int = 1, -- 頁碼
@doCount bit = 0, -- 返回記錄總數, 非 0 值則返回
@OrderType bit = 0, -- 設置排序類型, 非 0 值則降序
@strWhere varchar(1500) = '' -- 查詢條件 (注意: 不要加 where)
AS
declare @strSQL varchar(5000) -- 主語句
declare @strTmp varchar(110) -- 臨時變量
declare @strOrder varchar(400) -- 排序類型
declare @fldName_t varchar(255) -- 在分頁時用的排序字段名,不包含多表并列時的表名
set @fldName_t = right(@fldName,len(@fldName)-CHARINDEX('.',@fldName))
if @doCount != 0
begin
if @strWhere !=''
set @strSQL = 'select count(*) as Total from ' + @tblName + ' where '+@strWhere
else
set @strSQL = 'select count(*) as Total from ' + @tblName + ''
end
--以上代碼的意思是如果@doCount傳遞過來的不是0,就執行總數統計。以下的所有代碼都是@doCount為0的情況
else
begin
if @OrderType != 0
begin
set @strTmp = '<(select min'
set @strOrder = ' order by ' + @fldName +' desc'
--如果@OrderType不是0,就執行降序,這句很重要!
end
else
begin
set @strTmp = '>(select max'
set @strOrder = ' order by ' + @fldName +' asc'
end
if @PageIndex = 1
begin
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from ' + @tblName + ' where ' + @strWhere + ' ' + @strOrder
else
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '+ @tblName + ' '+ @strOrder
--如果是第一頁就執行以上代碼,這樣會加快執行速度
end
else
begin
--以下代碼賦予了@strSQL以真正執行的SQL代碼
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '+ @tblName + ' where ' + @fldName + ' ' + @strTmp + ' ('+ @fldName_t + ') from (select top ' + str((@PageIndex-1)*@PageSize) + ' '+ @fldName + ' from ' + @tblName + '' + @strOrder + ') as tblTmp)'+ @strOrder
if @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) +' '+@strGetFields+ ' from '+ @tblName + ' where ' + @fldName + ' ' + @strTmp + ' ('+ @fldName_t + ') from (select top ' + str((@PageIndex-1)*@PageSize) + ' '+ @fldName + ' from ' + @tblName + ' where ' + @strWhere + ' '+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrder
end
end
exec (@strSQL)
go
--測試
create table news --建表
(
n_id int iDENTITY(1,1) primary key,
n_title char(200),
n_content text
)
--寫循環插入1000000條的數據
create proc tt
as
declare @i int
set @i=0
while(@i<1000000)
begin
insert into news(n_title,n_content) values('sb','dsfsdfsd')
set @i=@i+1
end
exec tt
exec pagination 'news','*','n_id',1000,2,0,0,''


第二篇

復制代碼 代碼如下:

自己改寫的一個分頁存儲過程
CREATE PROC Paging
(
@pageSize int,
@pageIndex int,
@pageField nvarchar(32),
@countTotal bit=1,
@fieldQuery nvarchar(512),
@tableQuery nvarchar(512),
@whereQuery nvarchar(2048),
@orderQuery nvarchar(512)
)
AS
DECLARE @bdate Datetime
SET @bdate = getdate()
DECLARE @itemcount int
SET @itemcount=@pageIndex*@pageSize
DECLARE @itemlowwer int
SET @itemlowwer=(@pageIndex-1)*@pageSize
DECLARE @cmd nvarchar(3062)

IF @pageIndex=1
SET @cmd ='SELECT TOP ‘+CAST(@pageSize AS NVARCHAR)+' ‘+@fieldQuery+' FROM ‘+@tableQuery+' WHERE ‘+@whereQuery+' ORDER BY ‘+@orderQuery
ELSE
SET @cmd='SELECT ‘+@fieldQuery+' FROM ‘+@tableQuery+' WHERE ‘+@pageField+' IN (SELECT TOP ‘+CAST(@itemcount as nvarchar)+' ‘+@pageField+' FROM ‘+@tableQuery+' WHERE ‘+@whereQuery+' ORDER BY ‘+ @orderQuery+')
AND ‘+@pageField+' NOT IN (SELECT TOP ‘ +CAST(@itemlowwer as nvarchar)+' ‘+@pageField+' FROM ‘+@tableQuery+' WHERE ‘+@whereQuery+' ORDER BY ‘+ @orderQuery+')'
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美日韩第一区| 国产精品一二区| 国产欧美精品一区二区三区-老狼| 欧美精品18videos性欧美| 91亚洲精品在线观看| 亚洲www在线观看| 久久天天躁狠狠躁夜夜av| 日韩电影免费观看在线| 欧美激情第一页xxx| 亚洲tv在线观看| 久久综合伊人77777尤物| 亚洲国产日韩欧美在线99| 国产精品自拍偷拍| 欧美激情视频一区二区三区不卡| 色噜噜狠狠狠综合曰曰曰88av| 色先锋久久影院av| 国产成人一区二区| 亚洲天堂精品在线| 中文字幕亚洲二区| 亚洲免费高清视频| 久久精品国产成人| 亚洲人成在线观看网站高清| 亚洲美女在线看| 68精品久久久久久欧美| 成人综合网网址| 国产精品高潮在线| 欧美一区二区三区精品电影| 精品国产一区二区三区久久| 亚洲第一综合天堂另类专| 日韩在线观看免费全集电视剧网站| 国模视频一区二区| 欧美日韩中文字幕在线| 亚洲人成电影在线观看天堂色| 久久777国产线看观看精品| 另类美女黄大片| 久久精品国产视频| 国产丝袜精品第一页| 亚洲国产另类 国产精品国产免费| 黄色成人在线免费| 国产精品午夜国产小视频| 国产精品男女猛烈高潮激情| 亚洲黄色av网站| 亚洲精品视频在线播放| 欧美与黑人午夜性猛交久久久| 久久国产天堂福利天堂| 亚洲国产欧美精品| 日韩av网站在线| 日韩日本欧美亚洲| 最近2019年好看中文字幕视频| 欧美性猛交xxxx富婆弯腰| 国产精品揄拍500视频| 日韩av一区二区在线观看| 久久久久久久999| 97视频在线观看亚洲| 国产精品午夜视频| 日韩不卡在线观看| 在线观看日韩视频| www.欧美三级电影.com| 国产97在线|日韩| 亚洲成人激情图| 中文字幕久久久| 久久精品国产亚洲| 欧美日韩高清在线观看| 久久深夜福利免费观看| 国产成人在线播放| 亚洲理论在线a中文字幕| 精品美女久久久久久免费| 成人在线一区二区| 91丝袜美腿美女视频网站| 欧美日韩福利电影| 国产精品视频播放| 96国产粉嫩美女| 亚洲欧美三级伦理| 国内精品久久久久影院 日本资源| 欧美午夜激情小视频| 亚洲欧美激情精品一区二区| 九色精品美女在线| 亚洲片国产一区一级在线观看| 亚洲人成电影网| 日韩av123| 国产91精品视频在线观看| 欧美激情视频在线观看| 久久久伊人欧美| 欧美成人午夜视频| 亚洲成avwww人| 国产精品久久久久秋霞鲁丝| 国产精品国产三级国产aⅴ浪潮| 亚洲午夜未满十八勿入免费观看全集| 日韩va亚洲va欧洲va国产| 免费99精品国产自在在线| 狠狠躁天天躁日日躁欧美| 国产精品91久久久| 欧美精品久久久久| 国产精品av电影| 国产美女扒开尿口久久久| 精品视频在线观看日韩| 精品中文视频在线| 91亚洲va在线va天堂va国| 91精品久久久久久久久久另类| 日日狠狠久久偷偷四色综合免费| 久久成人综合视频| 欧美日韩午夜激情| 亚洲综合中文字幕在线观看| 成人免费直播live| 26uuu另类亚洲欧美日本一| 欧美麻豆久久久久久中文| 国产精品人人做人人爽| 亚洲欧洲激情在线| 中文字幕亚洲二区| 国产精品影片在线观看| 亚洲一级一级97网| 欧美中文在线免费| 欧美色另类天堂2015| 欧美在线一级视频| 亚洲国产日韩欧美在线图片| 九九热这里只有在线精品视| 久久免费高清视频| 欧美亚洲视频在线看网址| 青青草精品毛片| 国产成人精品在线播放| 久久九九热免费视频| 久久久久久久久久久国产| 欧美午夜女人视频在线| 最近中文字幕2019免费| 欧美亚洲视频一区二区| 高清欧美电影在线| 亚洲天堂av女优| 国产精品爽黄69| 亚洲精品日韩激情在线电影| 成人妇女淫片aaaa视频| 成人免费福利在线| www欧美xxxx| 精品视频一区在线视频| 日韩在线精品一区| 欧美国产欧美亚洲国产日韩mv天天看完整| 黑人巨大精品欧美一区二区三区| 欧美中文在线视频| 欧美壮男野外gaytube| 亚洲女人被黑人巨大进入| www.午夜精品| 欧美久久精品一级黑人c片| 色偷偷av一区二区三区乱| 精品国产乱码久久久久久婷婷| 95av在线视频| 欧美在线观看网址综合| 日韩电影中文字幕一区| 午夜精品蜜臀一区二区三区免费| 亚洲免费视频在线观看| 亚洲欧美精品一区二区| 欧美一区二区大胆人体摄影专业网站| 97在线视频一区| 色狠狠av一区二区三区香蕉蜜桃| 久久久久久久久久av| 久久久久久久久久久亚洲| 欧美壮男野外gaytube| 亚洲mm色国产网站| 菠萝蜜影院一区二区免费| 日日噜噜噜夜夜爽亚洲精品| 日本精品久久电影| 亚洲精品一区中文字幕乱码| 久久夜色精品亚洲噜噜国产mv| 精品视频久久久| 久久成人综合视频| 欧美性猛交xxxx乱大交蜜桃|