临时表的名称

Teo*_*Teo 3 sql-server temporary-tables

我创建了一个临时表,它位于临时表文件夹中。问题是名称太长了,这使得几乎不可能有效地查询某些字段。有什么办法可以用更短的名字db.#SPR1代替下面的长名字吗?

dbo.#SPR1_______________________________________________________________________________________________________________000000003A3E

Sco*_*red 6

这似乎是 Sql Server。

创建临时表时,您为其指定了一个有意义的名称:

Create Table #Sales (id int, sales decimal(11,2))
Run Code Online (Sandbox Code Playgroud)

也许您使用创建了临时表 SELECT INTO #Sales FROM...

这是您用来引用表的名称 (#Sales)。

由于实例中的其他用户也可以创建具有完全相同名称的本地临时表,因此 Sql Server 必须使用内部“生成”名称来区分您的 #Sales 和其他人的 #Sales。

您可以通过在一个名为 #Sales 的会话中创建一个包含一些列的临时表来观察这一点。在 SSMS 对象资源管理器下,您可以在 TEMPDB 临时表下看到该条目。现在,转到一个全新的查询窗口并创建相同的表。刷新 TEMPDB 临时表节点,您将看到新添加的临时表。但它们彼此完全独立。

不要担心 TempDB 下长而奇怪的表名——只需使用您在创建时给它的名称

说到临时表,我建议您阅读Temporary Tables: Local vs. Global 中的信息,以便您更好地了解临时表的工作方式以及它们存在的时间。

可以通过搜索在 Internet 上找到其他信息

sql server 本地临时表和全局临时表的区别