資源描述:
《分頁存儲過程(二):分頁獲得多表連接查詢的數(shù)據(jù)-(未驗證).docx》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、分頁存儲過程(二):分頁獲得多表連接查詢的數(shù)據(jù)(未驗證)---------------------------------------------------------------------------名稱(Name):GetRecordFromTableWithSimpleJoinByPage--功能(Function):分頁獲得多表連接查詢的數(shù)據(jù)--書寫者(Author):--日期(Date):2006年02月15日--輸入?yún)?shù):/*@tblNamenvarchar(255),--表名@priKeyNamenvarchar
2、(50),--主鍵列@fldNamesnvarchar(1000),--要取值的字段名,多個字段通過逗號分割@PageSizeint=0,--頁尺寸,0表示不需要分頁@PageIndexint=1,--頁碼,從1開始@OrderTypenvarchar(200)='',--設置排序,'':沒有排序要求0:主鍵升序1:主鍵降序else:用戶自定義排序規(guī)則@strWherenvarchar(2000)='',--查詢條件(注意:不要加where)@strJoinnvarchar(1000)='',--連接表*/--輸出參數(shù):--@To
3、talItemintoutput,--總的記錄數(shù)--@TotalPageintoutput--總的頁數(shù)--說明:--(1)當多個表簡單的連接時,可以使用該存儲過程--(2)需要注意的是多個表參與查詢時,要查詢的字段最好附帶表名,--(3)排序規(guī)則要建立在主表上--(4)適用于使用左外連接,這樣連接的表不參與建立排序---------------------------------------------------------------------------修改者:--修改日期:--修改說明:-----------------
4、--------------------------------------------------------ALTERPROCEDURE[dbo].[GetRecordFromTableWithSimpleLeftOuterJoinByPage]@tblNamenvarchar(255),--表名@priKeyNamenvarchar(50),--主鍵列或標示列@fldNamesnvarchar(1000),--字段名,多個字段通過逗號分割@totalfldsnvarchar(500),@PageSizeint,--頁尺寸@P
5、ageIndexint,--頁碼@OrderTypenvarchar(200),--設置排序,'':沒有排序要求0:主鍵升序1:主鍵降序字符串:用戶自定義排序規(guī)則@strWherenvarchar(2000),--查詢條件(注意:不要加where)@strJoinnvarchar(1000),--連接表@TotalItemintoutput,@TotalPageintoutputASdeclare@strByPagenvarchar(4000)--分頁查詢語句declare@strNoPagenvarchar(1500)--不分頁
6、查詢語句,獲得所有符合條件的記錄declare@strTotalnvarchar(1000)--統(tǒng)計符合條件的紀錄數(shù)declare@strNonResultnvarchar(1500)--返回空記錄的語句declare@strTmpnvarchar(100)declare@strOrdernvarchar(200)declare@strSqlnvarchar(4000)if@OrderTypeisnullor@OrderType=''beginset@strOrder=''set@strTmp=''endelseif@OrderT
7、ype='0'--降序beginset@strTmp=@tblName+'.'+@priKeyName+'>(selectmax(['+@priKeyName+'])from'set@strOrder='orderby'+@tblName+'.'+@priKeyName+'asc'endelseif@OrderType='1'--降序beginset@strTmp=@tblName+'.'+@priKeyName+'<(selectmin(['+@priKeyName+'])from'set@strOrder='orderby'+
8、@tblName+'.'+@priKeyName+'desc'endelse--用戶自定義排序規(guī)則beginset@strTmp=''set@strOrder='orderby'+@OrderTypeendset@strJoin=''+@strJo