Указание схемы для временных таблиц - PullRequest
6 голосов
/ 29 ноября 2011

Я привык видеть временные таблицы, созданные только с помощью символа хеш / числа, например:

CREATE TABLE #Test
(
    [Id] INT
)

Однако недавно я обнаружил код хранимой процедуры, который задает имя схемы при создании временных таблиц, например:

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

Есть ли причина, по которой вы хотели бы сделать это? Если вы указываете только пользовательскую схему по умолчанию, это имеет какое-то значение? Относится ли это к схеме [dbo] в локальной базе данных или базе данных tempdb?

1 Ответ

10 голосов
/ 29 ноября 2011

Ничего не изменится, если вы указали , указав схему по умолчанию для пользователей, но если схема пользователей по умолчанию изменится, она попытается сохранить временную таблицу в схеме dbo.

Временные таблицы создаются в базе данных tempdb, поэтому это означает, что вам нужно поддерживать схему в базе данных tempdb, и не дают никаких преимуществ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...