91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQLServer分頁存儲過程有哪些

發布時間:2021-08-13 17:22:22 來源:億速云 閱讀:103 作者:Leah 欄目:數據庫

本篇文章為大家展示了SQLServer分頁存儲過程有哪些,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

  SQLServer分頁存儲過程有哪幾種方法

  創建數據庫data_Test:

  createdatabasedata_TestGOusedata_TestGOcreatetabletb_TestTable--創建表(idintidentity(1,1)primarykey,userNamenvarchar(20)notnull,userPWDnvarchar(20)notnull,userEmailnvarchar(40)null)GO

  插入數據:

  setidentity_inserttb_TestTableondeclare@countintset@count=1while@count<=2000000begininsertintotb_testtable(id,username,userpwd,useremail)values(@count,'admin','admin888','lli0077@yahoo.com.cn count="@count+1endsetidentity_inserttb_TestTableoff" timediff="Getdate()set@sql='selecttop'+str(@pageSize)+'*Fromtb_TestTablewhere(ID">(selectmax(id)From(selecttop'+str(@pageSize*@pageIndex)+'idFromtb_TestTableorderbyID)asTempTable))orderbyID'execute(@sql)selectdatediff(ms,@timediff,GetDate())as耗時setnocountoff;end

  SQLServer分頁存儲過程有哪幾種方法

  3、利用selecttop和中間變量

  createprocedureproc_paged_with_Midvar--利用ID>最大ID值和中間變量(@pageIndexint,@pageSizeint)asdeclare@countintdeclare@IDintdeclare@timediffdatetimedeclare@sqlnvarchar(500)beginsetnocounton;select@count=0,@ID=0,@timediff=getdate()select@count=@count+1,@ID=casewhen@count<=@pagesize*@pageindexthenidelse@idendfromtb_testtableorderbyidset@sql='selecttop'+str(@pagesize)+'*fromtb_testtablewhereid>'+str(@ID)execute(@sql)selectdatediff(ms,@timediff,getdate())as耗時setnocountoff;end

  4、利用Row_number()此方法為SQLserver2005中新的方法,利用Row_number()給數據行加上索引

  createprocedureproc_paged_with_Rownumber--利用SQL2005中的Row_number()(@pageIndexint,@pageSizeint)asdeclare@timediffdatetimebeginsetnocounton;select@timediff=getdate()select*from(select*,Row_number()over(orderbyIDasc)asIDRankfromtb_testTable)asIDWithRowNumberwhereIDRank>@pageSize*@pageIndexandIDRank<@pageSize*(@pageIndex+1)selectdatediff(ms,@timediff,getdate())as耗時setnocountoff;end   

5、利用臨時表及Row_number   createprocedureproc_CTE--利用臨時表及Row_number(@pageIndexint,--頁索引@pageSizeint--頁記錄數)assetnocounton;declare@ctestrnvarchar(400)declare@strSqlnvarchar(400)declare@datediffdatetimebeginselect@datediff=GetDate()set@ctestr='withTable_CTEas(selectceiling((Row_number()over(orderbyIDASC))/'+str(@pageSize)+')aspage_num,*fromtb_TestTable)';set@strSql=@ctestr+'select*FromTable_CTEwherepage_num='+str(@pageIndex)endbeginexecutesp_executesql@strSqlselectdatediff(ms,@datediff,GetDate())setnocountoff;end  

上述內容就是SQLServer分頁存儲過程有哪些,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南康市| 万宁市| 城口县| 龙胜| 阆中市| 内黄县| 手游| 连平县| 涿州市| 自贡市| 玉屏| 句容市| 西丰县| 秦皇岛市| 嘉鱼县| 阿拉尔市| 靖江市| 寻乌县| 孝昌县| 炉霍县| 宜宾市| 蒙自县| 景泰县| 茂名市| 红安县| 淅川县| 墨江| 东兰县| 永兴县| 剑阁县| 永吉县| 磴口县| 甘孜县| 桐乡市| 翼城县| 潮安县| 北安市| 观塘区| 合川市| 南投县| 师宗县|