Такие читатели, как вы, помогают поддерживать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Читать далее.

Временные таблицы SQL Server временно хранят данные. Вы можете выполнять те же операции, такие как SELECT, INSERT, DELETE и UPDATE, с временной таблицей, как и с обычной таблицей SQL.

Временные таблицы находятся в базе данных tempdb и видны только во время соединения. Когда вы разрываете соединение, SQL Server удаляет временную таблицу. Вы также можете явно удалить его в любое время.

Типы временных таблиц SQL Server

Существует два типа временных таблиц SQL Server: локальные и глобальные.

Локальная временная таблица

Локальная временная таблица видна только тому соединению, которое ее создало. Когда это соединение завершается или пользователь отключается от SQL-сервер Например, локальная временная таблица автоматически удаляется.

Чтобы создать локальную временную таблицу, используйте один символ решетки (#) в начале имени таблицы с оператором CREATE TABLE. Вот синтаксис.

instagram viewer
СОЗДАВАТЬСТОЛ#ВременнаяТаблица (
Столбец 1 INT,
Столбец2 VARCHAR(50)
);

Например, следующий код создает временную таблицу TempCustomer с именем и полем электронной почты.

СОЗДАВАТЬСТОЛ#ВременныйКлиент (
ID int NOT NULL ПЕРВИЧНЫЙ КЛЮЧ
Полное имя VARCHAR(50),
Электронная почта VARCHAR(50)
);

Глобальная временная таблица

Глобальная временная таблица — это временная таблица, видимая всем подключениям и пользователям. SQL Server удалит его, когда все соединения и пользователи, ссылающиеся на таблицу, будут разъединены.

Чтобы создать глобальную временную таблицу, добавьте к имени таблицы префикс двойного хеша (##) и используйте оператор CREATE TABLE.

СОЗДАВАТЬСТОЛ##Временная таблица (
Столбец 1 INT,
Столбец2 VARCHAR(50)
);

Следующий код создает глобальную временную таблицу с именем TempCustomer.

СОЗДАВАТЬСТОЛ##ВременныйКлиент (
ID int NOT NULL ПЕРВИЧНЫЙ КЛЮЧ
Полное имя VARCHAR(50),
Электронная почта VARCHAR(50)
);

Этот код аналогичен примеру для локальной временной таблицы, только с двумя символами решетки вместо одного. Теперь вы можете использовать стандартные команды SQL для добавления или управления данными во временной таблице.

Как удалить временную таблицу

Экземпляр SQL Server автоматически удаляет временную таблицу, когда все пользователи, ссылающиеся на нее, отключились. Рекомендуется всегда явно удалять временные таблицы, чтобы освободить память tempdb.

Чтобы удалить временную таблицу, используйте оператор DROP TABLE IF EXISTS, за которым следует имя временной таблицы.

Вот как удалить таблицу #TempCustomer:

УРОНИТЬСТОЛЕСЛИСУЩЕСТВУЕТ#TempCustomer

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

УРОНИТЬСТОЛЕСЛИСУЩЕСТВУЕТ##Временный клиент

Типичное использование временных таблиц SQL

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

Другой сценарий, в котором временные таблицы полезны, — это когда вам нужны результаты запроса из одной таблицы для выполнения другого запроса. Вы можете сохранить результаты во временной таблице, а затем ссылаться на них в своем новом запросе. По сути, вы используете временную таблицу в качестве рабочей или буферной таблицы для хранения данных, необходимых для выполнения конкретной задачи.

Использование временных таблиц в SQL Server

Вы можете использовать временные таблицы SQL Server для временного хранения и обработки данных. Существует два типа временных таблиц: локальные и глобальные. Локальная временная таблица видна для соединения, в котором она создана, а глобальная временная таблица видна для всех соединений.

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