數(shù)據(jù)庫分頁存儲過程代碼
發(fā)布日期:2022-02-03 19:01 | 文章來源:站長之家
復制代碼 代碼如下:
/*
數(shù)據(jù)庫分頁存儲過程,支持倒序和升序
參數(shù)說明:
@tablename:為搜索表名
@tablefield:為表的字段,約定為表的主鍵,
@where:為搜索表名,要顯示所有記錄請設為"1=1"
@orderby:為搜索結(jié)果排序,如orderbyiddesc
@fieldlist:為字段列表,如userid,username
@curpage:當前頁碼
@page_record:每頁記錄條數(shù)
@Sort:排序標識(如果是倒序排,參數(shù)值為desc,為升序,參數(shù)值為asc,跟orderby參數(shù)是對應的)
結(jié)果:返回表tablename中滿足條件where的第curpage頁的page_record條記錄,結(jié)果按orderby排序
*/
CREATEPROCEDUREproc_CommonPaging @tablenamevarchar(100),
@tablefieldvarchar(20),
@wherevarchar(5000),
@orderbyvarchar(500),
@fieldlistvarchar(1000),
@curpageint,
@page_recordint,
@sortvarchar(8) AS BEGIN DECLARE@cmdvarchar(8000)
DECLARE@uprecordint
DECLARE@Opvarchar(2)--操作符
DECLARE@max_minvarchar(4)--最大/最小計算 SET@op='<'
SET@max_min='MIN'
IF@sort='asc'
BEGIN
SET@Op='>'
SET@max_min='MAX'
END SET@uprecord=@curpage*@page_record IF@curpage=0
SET@cmd='SELECTTOP'+cast(@page_recordASNVARCHAR)+''+@fieldlist+'FROM'+@tablename+'WHERE'+@where+''+@orderby
ELSE
SET@cmd='SELECTTOP'+cast(@page_recordASNVARCHAR)+''+@fieldlist+'FROM'+@tablename+'WHERE'+@where+'AND'+@tablefield+'
'+@op+'(SELECT'+@max_min+'('+@tablefield+')FROM(SELECTTOP'+cast(@uprecordASNVARCHAR)+''+@tablefield+'FROM'+@tablename+'WHERE
'+@where+''+@orderby+')ASTmpTbl)AND'+@where+''+@orderby SET@cmd=@cmd+';SELECTCOUNT(*)FROM'+@tablename+'WHERE'+@where EXEC(@cmd)
PRINT(@cmd) END
GO
版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
相關文章