主頁(yè) > 知識(shí)庫(kù) > 分享:在存儲(chǔ)過(guò)程中使用另一個(gè)存儲(chǔ)過(guò)程返回的查詢結(jié)果集的方法

分享:在存儲(chǔ)過(guò)程中使用另一個(gè)存儲(chǔ)過(guò)程返回的查詢結(jié)果集的方法

熱門標(biāo)簽:承德地圖標(biāo)注公司名需要花錢嗎 怎么給高德做地圖標(biāo)注 慶陽(yáng)地圖標(biāo)注 北京400電話辦理多少錢 電銷外呼系統(tǒng)軟件功能 咸陽(yáng)電腦外呼系統(tǒng)運(yùn)營(yíng)商 浙江穩(wěn)定外呼系統(tǒng)供應(yīng)商 美團(tuán)地圖標(biāo)注商戶認(rèn)證注冊(cè) 榕城市地圖標(biāo)注

  很多查詢類的存儲(chǔ)過(guò)程會(huì)返回一個(gè)表結(jié)構(gòu)的結(jié)果集,如果在其他存儲(chǔ)過(guò)程中需要用到這個(gè)結(jié)果集,為了避免編寫重復(fù)的sql腳本,可以直接使用前者的查詢結(jié)果。

  如,存儲(chǔ)過(guò)程sp_GetBorrowRecord @BeginTime,@EndTime 可以查詢出某一時(shí)間范圍(開始時(shí)間@BeginTime,結(jié)束時(shí)間@EndTime)內(nèi)的所有借書記錄。這個(gè)存儲(chǔ)過(guò)程可以用于對(duì)借書記錄的查詢頁(yè)面。

      現(xiàn)在需要實(shí)現(xiàn)另一個(gè)功能:將某時(shí)間段內(nèi)的借書記錄進(jìn)行匯總分析。如按被借閱的書籍類型進(jìn)行分組,并按各類書籍的借書總數(shù)進(jìn)行排序。當(dāng)然可以直接使用group by等方法直接重新進(jìn)行查詢,但為了說(shuō)明本例,暫且用另一種方法進(jìn)行實(shí)現(xiàn),并且該方法也有其特有的優(yōu)勢(shì)(在文章最后會(huì)提到)。如下所示,建一個(gè)新的存儲(chǔ)過(guò)程:

復(fù)制代碼 代碼如下:

--獲取借書記錄分析情況
create proc sp_GetBorrowAnalysis
    @BeginTime    datetime,
    @EndTime    datetime
as
    --建一個(gè)表變量,結(jié)構(gòu)與sp_GetBorrowRecord查詢出的結(jié)果集相同
     declare @Record table
     (
      BookID int,                --書籍ID
      BookName varchar(100),    --書籍名稱
      TypeID int,                --書籍類別ID
      CardID int                --借書卡ID
      CardName varchar(100)        --借書人姓名
     )

    --獲取這段時(shí)間內(nèi)的借書記錄,并存入@Record表變量中
    insert into @Record
    exec sp_GetBorrowRecord @BeginTime,@EndTime

    --接下來(lái),就可以像使用一個(gè)普通的表一樣,對(duì)查出的數(shù)據(jù)(@Record中的數(shù)據(jù))進(jìn)行所需要的各項(xiàng)處理
    --。。。。。
go


  使用這種方法的好處是可以避免編寫重復(fù)的代碼,并且利于維護(hù)。如果借書記錄的查詢條件發(fā)生變化,比如除了根據(jù)時(shí)間范圍進(jìn)行篩選,還需要根據(jù)借書卡是否有效,或所借書籍是否仍然存在等條件進(jìn)行篩選,那么只需要維護(hù)sp_GetBorrowRecord存儲(chǔ)過(guò)程即可,不需要將所有涉及到查詢借書記錄的存儲(chǔ)過(guò)程全部修改一遍。但這種方法在查詢的數(shù)據(jù)量較大的情況下比較影響性能,查詢速度較慢,在數(shù)據(jù)量較小的情況下這種差異并不明顯。

     注:需要在sql server2005或更高版本中使用,低版本的sql server不支持該方法。

標(biāo)簽:呼和浩特 江蘇 新鄉(xiāng) 貴州 重慶 上海 拉薩 昭通

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《分享:在存儲(chǔ)過(guò)程中使用另一個(gè)存儲(chǔ)過(guò)程返回的查詢結(jié)果集的方法》,本文關(guān)鍵詞  分享,在,存儲(chǔ),過(guò)程中,使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《分享:在存儲(chǔ)過(guò)程中使用另一個(gè)存儲(chǔ)過(guò)程返回的查詢結(jié)果集的方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于分享:在存儲(chǔ)過(guò)程中使用另一個(gè)存儲(chǔ)過(guò)程返回的查詢結(jié)果集的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章