日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

sqlserver 分頁(yè)

系統(tǒng) 2197 0
create PROCEDURE [dbo].[GetPageDataOutRowNumber]
(
@tn nvarchar(30), --表名稱
@idn nvarchar(20), --表主鍵名稱
@pi int = 1, --當(dāng)前頁(yè)數(shù)
@ps? int = 7, --每頁(yè)大小
@wh nvarchar(255) = '' , --wehre查詢條件
@oby nvarchar(255) = '' , --orderby 排序
@rc int output , --總行數(shù)(傳出參數(shù))
@pc int output --總頁(yè)數(shù)(傳出參數(shù))
)
AS
DECLARE @sql NVARCHAR(225)= '' ,@sqlCount NVARCHAR(225)= ''
--1.計(jì)算總行數(shù)和總頁(yè)數(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.分頁(yè)
--2.1如果是第一頁(yè),則直接查詢
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如果不是第一頁(yè),則拼接查詢語(yǔ)句
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
?
--測(cè)試語(yǔ)句
declare @rc int ,@pc int
exec [GetPageDataOutRowNumber] 'Ams_Area' , 'ar_id' ,2,5, '' , ' ar_id desc' ,@rc output ,@pc output
select @rc,@pc

sqlserver 分頁(yè)


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 柳江县| 张家港市| 疏附县| 新巴尔虎左旗| 方正县| 临湘市| 莒南县| 方山县| 东乡族自治县| 元朗区| 荣昌县| 新沂市| 裕民县| 麟游县| 新巴尔虎右旗| 长治市| 新野县| 贵德县| 砀山县| 营山县| 永靖县| 正蓝旗| 五莲县| 平和县| 贡嘎县| 高清| 哈密市| 根河市| 策勒县| 昭觉县| 贵州省| 祁阳县| 桂阳县| 杨浦区| 阜阳市| 兴海县| 临邑县| 乌拉特中旗| 泸州市| 宜丰县| 三穗县|