我知道临时是临时的。表仅对特定会话有效。但是,如果我在两个不同的会话中定义了#temp,并且同时运行它们,就会发生冲突。如果不是,那么这些表实际上是如何存储在内存中的。这与##Temp?有什么不同?
发布于 2013-10-03 04:36:35
来自创建表
存储在中sysobjects表中的临时表的全名由CREATE语句中指定的表名和系统生成的数字后缀组成。
所以它被存储在tempdb中。
也来自Server中的临时表
在TempDB数据库中创建临时表和表变量。
发布于 2013-10-03 04:49:29
带有单个#的临时表是“本地”表,而具有双##的表是“全局表”。
一旦定义它们的存储过程完成,本地程序将退出作用域。
全局用户可以由其他用户使用,也可以由来自不同存储过程的同一用户使用,也可以由同一过程的多个调用使用。只有在上次引用它们的用户不再引用它们之后,即上次存储的proc完成之后,它们才会被删除。
所有这些都存储在tempdb数据库中,没有一个存储在“内存”中。
https://stackoverflow.com/questions/19150855
复制相似问题