4

我想知道,这两个脚本有什么区别?

SELECT * FROM ##TEMP

还有这个

SELECT * FROM #TEMP
4

3 回答 3

10

##TEMP是全局临时表,#TEMP是本地的。

本地临时表仅在与 SQL Server 实例首次创建或引用表时相同的连接期间对其创建者可见。用户断开与 SQL Server 实例的连接后,本地临时表将被删除。

全局临时表在创建后对任何用户和任何连接都是可见的,并在引用该表的所有用户与 SQL Server 实例断开连接时被删除。

文档

实际上,这里的答案几乎与SQL Server 中的本地和全局临时表相同的问题。

于 2013-09-19T06:36:44.690 回答
1

第一个(##TEMP)是全局的——任何人都可以访问它的内容,你也可以从不同的会话中访问(想想 SQL Server Management Studio 中的选项卡)。另一个只有你可见。

于 2013-09-19T06:37:28.920 回答
1

##是对所有人可见的全局表,并在所有引用它们的连接关闭时被删除。

#是本地表,仅对创建它的连接可见,并且在该连接断开后被删除。

于 2013-09-19T06:38:22.043 回答