亚洲色图第一页I久久91I成人网站在线I国产A片I6080网站免费电影I亚洲色图图片I网址你懂的I精品人伦一区二区三区不卡I人妻一区I69无码I久久久久9999I嫩草视频在线观看

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條評論