sql – 为临时表指定模式

我习惯于看到只用哈希/数字符号创建的临时表,如下所示:
CREATE TABLE #Test
(
    [Id] INT
)

但是,我最近遇到了存储过程代码,它在创建临时表时指定了模式名称,例如:

CREATE TABLE [dbo].[#Test]
(
    [Id] INT
)

你有什么理由要这么做吗?如果您只是指定用户认架构,它会有什么不同吗?这是指本地数据库或tempdb数据库中的[dbo]模式吗?

解决方法

如果您指定用户认架构,它将没有任何区别,但如果用户认架构更改,那么它将尝试将临时表保留在dbo架构中.

临时表是在tempdb中创建的,这意味着您需要在tempdb中维护模式,并且没有任何好处.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...