【发布时间】:2013-09-24 02:59:05
【问题描述】:
我想知道,这两个脚本有什么区别?
SELECT * FROM ##TEMP
还有这个
SELECT * FROM #TEMP
【问题讨论】:
-
请先google一下再问stackoverflow.com/questions/2219714/…
标签: sql sql-server tsql temp-tables global-temp-tables
我想知道,这两个脚本有什么区别?
SELECT * FROM ##TEMP
还有这个
SELECT * FROM #TEMP
【问题讨论】:
标签: sql sql-server tsql temp-tables global-temp-tables
##TEMP 是全局临时表,#TEMP 是本地表。
本地临时表仅对它们的创建者可见,在与 SQL Server 实例的同一连接期间,与表首次创建或引用时相同。用户断开与 SQL Server 实例的连接后,本地临时表将被删除。
全局临时表在创建后对任何用户和任何连接都是可见的,并且在引用该表的所有用户与 SQL Server 实例断开连接时被删除。
其实这里的问题和答案几乎是一样的——Local and global temporary tables in SQL Server。
【讨论】:
第一个 (##TEMP) 是全局的 - 任何人都可以访问它的内容,您也可以从不同的会话中访问(想想 SQL Server Management Studio 中的选项卡)。另一个只有您可以看到。
【讨论】:
## 是对所有人可见的全局表,并在所有引用它们的连接关闭时被删除。
# 是本地表,仅对创建它的连接可见,并在该连接断开后被删除。
【讨论】: