MSSQL 臨時表,SQL,工作筆記

事情前提 

:前輩,統計結果有點大,可否 用個新的表儲存統計結果再作查詢 ? 這樣會比較好

前輩: 我還沒寫到那邊的對應,那張表還沒規劃,你就先用其他方式...

最近在做統計,但當前的規劃並沒有儲存 統計結果,下次若要使用就會比較麻煩,於是就突發奇想--「臨時表」。

想說使用臨時表試試看,結果測試了一下之後,很快就放棄了使用它的念頭。

什麼是臨時表?

官網的相關文件(圖1) 

暫存資料表(圖1)


讓我們來問問神奇海螺。整理一下上述的話




以下是 chatGPT  的整理(圖2):


chatGPT-暫存表(圖2)

實際操作

測試將一段select 結果,存在暫存表#TempGatewayUploads  (圖3) 

暫存表#TempGatewayUploads  (圖3) 


當我正高興,有了暫存表可以解決統計存放結果時,去上個廁所後,結果在使用 select * from #TempGatewayUploads ,就查不到結果了。






臨時表結束會話,自動刪除(圖4)




挖哩~@@  真的就是暫時用,時間到 session 會自動刪除,會自動從 sys.table 消失。

難怪,下次要再查 #TempGatewayUploads 就無法查了,因為 會話已經結束了。😣

心得


當我寫好後暫存表,使用了之後,心中有一萬個草尼馬在奔跑😣 ,每隔一段時間 就找不到 #TempGatewayUploads ,原來是 用錯了方法 ,搞錯了表的特性~ 小表子

由於要求是計算統計表,也沒有暫存表,後來改採用CTE的方式。
使用了兩段CTE,第一段CTE 去重複,第二段 續 第一段CTE  執行 COUNT統計
剛好有解決到 需要暫存表的問題。直接將結果 存到CTE,再去查詢。(圖5)

使用CTE 作暫存(圖5)



留言