TSQL中表名前面的"#"是什么意思?

Llo*_*nks 36 t-sql sql-server

TSQL中的表名"#mytable"和"mytable"有什么区别?在很多自定义过程中,我看到表名以"#"开头.

myk*_*ola 48

这些是本地临时表,它们是创建它们的进程的私有表.


Yet*_*ser 30

#mytable是一个临时表,其中mytable是一个具体的表.

您可以在SQL Server中阅读有关临时表的更多信息.

在批处理或过程中处理数据时,它们最常用于为中间结果提供工作空间.它们还用于从表值函数传递表,在存储过程之间传递基于表的数据,或者最近以表值参数的形式传递,以将整个只读表从应用程序发送到SQL Server例程,或将只读临时表作为参数传递.一旦完成使用,它们将被自动丢弃.

临时表有不同的风格,包括本地临时表(以#开头),全局临时表(以##开头),持久临时表(以TempDB为前缀)和表变量.(以(@开头) )