2016年11月8日 星期二

MSSQL Server 暫存表格的使用


最近在進行資料庫的語法轉換
很多語法都是很漠生,當然也有很多都是第一次使用

記一下,方便日後追蹤

1.在tempdb中建立

  暫存TABLE前置詞#  => 只有自己這條連線可查詢使用
  暫存TABLE前置詞## =>  全域的暫存TABLE,其他連線可查詢此TABLE

Create Table #TEMP_FILE ( id varchar(10) )


而上述暫存TABLE在連線中斷後就會被清除
這裡是講connection 斷線後,不是一次的執行,建議在使用後不用了,就要手動歸還,不要等連線後再還,養成良好習慣,可以不用管是不是在這connection已經建立了
而歸還的方式如下:

IF OBJECT_ID('tempdb..#TEMP_FILE') IS NOT NULL DROP TABLE #TEMP_FILE;

2.在記憶體中宣告(SQL Server 2000以後即支援)
在本次批次作業結束後自動清除

 DECLARE @TEMP_FILE TABLE( id varchar(10) )


參考資料來源:
http://deanma.blogspot.tw/2012/01/ms-sql-temp-table.html
http://cbw0731.pixnet.net/blog/post/24993864-暫存表(temporary-tables)的使用簡介
http://stackoverflow.com/questions/659051/check-if-temp-table-exist-and-delete-if-it-exists-before-creating-a-temp-table

沒有留言:

張貼留言