20120319

T-SQL - 使用暫存資料表

說明

暫存資料表是使用SQL Server時非常重要的功能,因為很多時候,我們會需要一些特殊欄位的資料表,但是現有的SQL敘述無法滿足我們程式設計師的需求(也可能是因為自己學藝不精@@)。所以這時候我們就需要自己從不同的資料表來取出所需的資料,以便匯總成一個可用的資料表。

 

又有可能是,有些計算,會影響到實際的資料表,但是這並不是我們所希望的,這時候就可以利用暫存資料表,但滿足我們修改資料的需求。

 

以下我們將介紹暫存資料表的用法。

 

 

用法

1. 將暫存資料表建立在硬碟上

語法:

  1: CREATE TABLE #TEMP
  2: (
  3:     KEY int,
  4:     NAME nvarchar(50)
  5: )
  6: 

說明:

在暫存資料表前面加上「#」,則暫存資料表將會建立在系統的「tempdb」資料庫中。此暫存資料表只有建立者可以使用,其他人可以看到,但無法存取;當建立該暫存資料表的連線結束之時,SQL Server會自動將其刪除。

 

2. 將暫存資料表建立在記憶體中

語法:

  1: DECLARE @TEMP TABLE
  2: (
  3:     KEY int,
  4:     NAME nvarchar(50)
  5: )
  6: 

說明:

在暫存資料表前面加上「@」,並使用「DECLARE」來作變數宣告,則暫存資料表將會建立在記憶體中。此暫存資料表,其他人看不到,且建立該暫存資料表的Function, Stored Procedure, Batch結束之時,SQL Server會自動將其刪除。

 

 

參考網址

CREATE TABLE (Transact-SQL)

建立#TempTable與Declare @TempTable有何差別

沒有留言: