---
# System prepended metadata

title: TempTable 建立差別
tags: [Sql, '2022']

---

###### tags: `Sql`,`2022`

# TempTable 建立差別

* 方法一
Create Table #TempTable(
FirstName varchar(20),
LastName varchar(20)
)
* 方法二
DECLARE @TmpTable TABLE (
FirstName varchar(20),
LastName varchar(20)
)


方法一是建立一個**區域性的暫存資料表（Local ）**，簡單地說，就是在 tempdb 資料庫中，建立一個名稱為 #TempTabel 的資料表（位於暫存資料表中），這個暫存資料表只有建立者可以使用，其他人可以看到，但無法存取。除非**利用 DROP TABLE 來明確卸除暫存資料表**，否則當建立該暫存資料表的連線結束時，SQL Server 會自動將其刪除。**需要用到 DISK I/O**


方法二則是建立一個 table 資料型別的暫存資料表，它是**存在記憶體中**的。因此其他人無法看到，此外當定義 table 資料型別的函數、預存程序或批次結束時，就會自動清除這個暫存資料表。



{%hackmd BJrTq20hE %}