TSQL 中的表名“#mytable”和“mytable”有什么区别?我在很多自定义过程中看到表名以“#”开头。
问问题
43055 次
2 回答
59
这些是创建它们的进程专用的本地临时表。
于 2012-08-01T19:08:54.973 回答
33
#mytable 是一个临时表,而 mytable 是一个具体表。
您可以阅读有关SQL Server 中的临时表的更多信息。
在批处理或过程中处理数据时,它们最常用于为中间结果提供工作空间。它们还用于从表值函数传递表,在存储过程之间传递基于表的数据,或者最近以表值参数的形式,将整个只读表从应用程序发送到 SQL Server 例程,或将只读临时表作为参数传递。一旦完成使用,它们将被自动丢弃。
临时表有不同的风格,包括本地临时表(以#开头)、全局临时表(以##开头)、持久临时表(以TempDB..为前缀)和表变量。(以(@开头) )
于 2012-08-01T19:07:23.987 回答