黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

sqlserver 分頁

系統(tǒng) 2323 0
create PROCEDURE [dbo].[GetPageDataOutRowNumber]
(
@tn nvarchar(30), --表名稱
@idn nvarchar(20), --表主鍵名稱
@pi int = 1, --當(dāng)前頁數(shù)
@ps? int = 7, --每頁大小
@wh nvarchar(255) = '' , --wehre查詢條件
@oby nvarchar(255) = '' , --orderby 排序
@rc int output , --總行數(shù)(傳出參數(shù))
@pc int output --總頁數(shù)(傳出參數(shù))
)
AS
DECLARE @sql NVARCHAR(225)= '' ,@sqlCount NVARCHAR(225)= ''
--1.計算總行數(shù)和總頁數(shù)
SET @sqlCount = 'SELECT @rc=COUNT([' +@idn+ ']),@pc=CEILING((COUNT(' +@idn+ ')+0.0)/' + CAST (@ps AS VARCHAR )+ ') FROM ' + @tn
IF LEN(@wh)>1
???? set @sqlCount=@sqlCount+ ' WHERE ' +@wh
print @sqlCount
EXEC SP_EXECUTESQL @sqlCount,N '@rc INT OUTPUT,@pc INT OUTPUT' ,@rc OUTPUT ,@pc OUTPUT
--2.分頁
--2.1如果是第一頁,則直接查詢
IF @pi = 1
BEGIN
???? SET @sql= 'SELECT TOP ' +str(@ps) + ' * FROM ' +@tn
???? IF LEN(@wh)>1
???????? set @sql=@sql+ ' WHERE ' +@wh
???? IF LEN(@oby)>1
???????????? SET @sql=@sql+ ' order by ' +@oby
EXEC (@sql)
END
ELSE --2.2如果不是第一頁,則拼接查詢語句
BEGIN
???? SET NOCOUNT ON
???? SET @sql= 'SELECT * FROM (select row_number() over(order by '
???? IF LEN(@oby)>1
???????? set @sql=@sql + @oby+ ') as rowNum,* from ' +@tn
???? else
???????? set @sql=@sql + @idn+ ') as rowNum,* from ' +@tn
???? IF LEN(@wh)>1
???????? set @sql=@sql+ ' where ' +@wh
???? set @sql=@sql+ ')as temp where rowNum>' +str(@ps * (@pi-1))+ ' and rowNum<=' +str(@ps*@pi)
???? print @sql
???? EXEC (@sql)
???? SET NOCOUNT OFF
END
?
--測試語句
declare @rc int ,@pc int
exec [GetPageDataOutRowNumber] 'Ams_Area' , 'ar_id' ,2,5, '' , ' ar_id desc' ,@rc output ,@pc output
select @rc,@pc

sqlserver 分頁


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論