dnt分頁存儲(chǔ)過程解析

dnt分頁存儲(chǔ)過程解析

ID:35527729

大?。?4.26 KB

頁數(shù):12頁

時(shí)間:2019-03-25

dnt分頁存儲(chǔ)過程解析_第1頁
dnt分頁存儲(chǔ)過程解析_第2頁
dnt分頁存儲(chǔ)過程解析_第3頁
dnt分頁存儲(chǔ)過程解析_第4頁
dnt分頁存儲(chǔ)過程解析_第5頁
資源描述:

《dnt分頁存儲(chǔ)過程解析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、DNT的幾個(gè)分頁存儲(chǔ)過程解析在DNT安裝時(shí)會(huì)創(chuàng)建一些存儲(chǔ)過程,用于完成DNT的功能。這些存儲(chǔ)過程位于、upload_filesinstallsqlscriptsqlserver文件夾中的setup2.2-2005.sql文件中。其屮的分頁存儲(chǔ)過程如下:我認(rèn)識(shí)存儲(chǔ)過程這個(gè)東西不久,仔細(xì)看了下,注釋出來.下邊列舉的4個(gè)分頁存儲(chǔ)過程,寫法風(fēng)格各不相同.在算法上只有兩種.一個(gè)使用了ROW_NUMBER()OVER(ORDERBY[aid]DESC)ASROWID這個(gè)函數(shù).另一個(gè)手動(dòng)計(jì)算頁碼,將該頁的所有數(shù)據(jù)以DESC的方式選到一個(gè)臨時(shí)表中.再在這個(gè)表中搜索Top數(shù)據(jù).然后返回

2、.從風(fēng)格上講,前兩個(gè)使用了很多參數(shù)來組織語句,代碼美觀大方.后兩個(gè)先組織了Sql字符串,加入搜索條件后才使用EXEC語句執(zhí)行.代碼亂七八糟的,不是很好看,但也實(shí)現(xiàn)了功能.(1)dnt_getfavoriteslist獲取用戶收藏的存儲(chǔ)過程這個(gè)存儲(chǔ)過程用于查看用戶收藏是的分頁顯示?返回一個(gè)包含帖子主題的表供前臺(tái)調(diào)用CREATEPROCEDURE[dnt_getfavoriteslist]--分頁獲取收藏主題表QuidINT,--用戶:ED@pagesizeINT,--頁大小QpageindexINT―第幾頁AS—SELECT[f].[uid],[f].[tid],[topic

3、s].[titie],[topics].[poster],[topics].[postdatetime],[topics].[replies],[topics].[views],[topics].[posterid]FROM[dnt_favorites][f]LEFTJOIN[dnt_topics][topics]ON[f].[tid]=[topics].[tid]WHERE[f].[typeid]=0AND[f].[uid]=@uidIFQpageindex=1--處理第一頁BEGINSELECTTOP(@pagesize)--因?yàn)槭堑谝豁?,選擇出前@pagesize就是

4、所需要的內(nèi)容[uid]/[tid],[title]/[poster],[postdatetime],[replies],[views],[posterid]FROM(SELECT[f].[uid],--這個(gè)Select用于選出用八用八所有的收藏[f]代表表[dnt_favorites]?[topics]代表[dnt_topics]--兩個(gè)表連接起來查詢出用戶收藏的所有主題[f].[tid],[topics]?[title]/[topics]?[poster],[topics]?[postdatetime]z[topics]?[replies].[topics]?[views

5、],[topics]?[posterid]FROM[dnt_favorites][f]―此處設(shè)置f代表[dnt_favorites]LEFTJOIN[dnt_topics][topics]ON[f]?[tid]=[topics]?[tid]WHERE[f].[typeid]=0AND[f]?[uid]=@uid)favorites--此處的favorites相當(dāng)于一個(gè)表。From語句后邊的SELECT語句選擇出來的內(nèi)容存放著這個(gè)表中ORDERBY[tid]DESCENDELSEBEGIN--gpageindex不等于1,處理其他頁SELECTTOP(Qpagesize)--

6、不是第一頁,需要對(duì)選擇出來內(nèi)容的范圉加以約束。Where之后未約束FROMWHERE[uid]/[tid],[title]z[poster],[postdatetime]A[replies],[views]/[posterid](SELECT[f].[uid],[f]?[tid],[topics].[title]/[topics]?[poster],[topics]?[posz[topics]?[replies],[topics]?[views],[topics]?[posterid]FROM[dnt_favorites][f]LEFTJOIN[dnt_topics][to

7、pics]ON[f].[tid]=[topics]?[tid]WHERE[f]?[typeid]=0AND[f].[uid]=@uid)fl[tid]<(SELECTMIN([tid])--根據(jù)頁大小和頁序號(hào)設(shè)置TID的范圍FROM(SELECTTOP((@pageindex-1)*Qpagesize)[tid]查詢FROM(SELECT[f].[uid],--這里跟處理第一頁一樣,選擇出所有收藏的內(nèi)容作為一個(gè)表,供[f].[tid],[topics]?[titie],[topics]?[poster],[topi

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。