SQL:什么是INSERT INTO #table?

时间:2009-09-24 14:17:28

标签: sql sql-server tsql insert

我想知道#符号是什么意思?为什么要使用它?

示例:

INSERT INTO #tmpContracts (sym, contractCount)
SELECT sym, 
       COUNT(DISTINCT(fulloptionsym)) AS contractCount

5 个答案:

答案 0 :(得分:5)

这意味着它是一张临时表。请查看the CREATE TABLE documentation的“临时表”部分。

答案 1 :(得分:5)

它是一个临时表,仅适用于当前会话。当它超出范围时,它将自动删除。如果多个人同时运行相同的代码,则每个人都会获得自己的表,就像本地变量一样,并且无需担心冲突。

答案 2 :(得分:4)

'#'用于临时表,例如:'#tmpContracts' '##'用于全局临时表,例如:'## tmpContracts'

阅读此temporary table

答案 3 :(得分:1)

#Temp是一个在连接期间处于活动状态的临时表。它驻留在TempDB中。

#Temp是本地的(仅对当前连接可用),并在连接终止后被删除。

## Temp是全局的(可供所有连接使用),一旦使用它的所有连接终止,它就会被删除。

由于Gail的反馈和更正而得到纠正

SQL Server中还有一个##表类型,它是一个临时表,可以在重新启动服务器或SQL Server服务时删除它。

答案 4 :(得分:0)

尝试使用

'#temp' = temperory table