LOCAL TEMP TABLES SQL Server

В этом учебном пособии вы узнаете, как использовать LOCAL TEMP TABLES (ЛОКАЛЬНЫЕ ВРЕМЕННЫЕ ТАБЛИЦЫ) в SQL Server (Transact-SQL) с синтаксисом и примерами.

Описание

LOCAL TEMP TABLES отличаются от модулей и встроенных программ тем, что доступны только в SQL в сеансах SQL Server. LOCAL TEMPORARY TABLES хранятся в tempdb, и SQL Server автоматически удаляет эти таблицы, когда они больше не используются.

Синтаксис

Синтаксис создания LOCAL TEMPORARY TABLE в SQL Server (Transact-SQL):

CREATE TABLE #table_name
(
column1 datatype [ NULL | NOT NULL ],
column2 datatype [ NULL | NOT NULL ],
...
);

Параметры или аргументы

table_name - имя локальной временной таблицы, которую вы хотите создать. Имя локальной временной таблицы начинается с символа #.
column1, column2 - столбцы, которые вы хотите создать в локальной временной таблице. Каждый столбец должен иметь тип данных. Столбец должен быть определен как NULL или NOT NULL, и если это значение остается пустым, база данных принимает значение NULL как значение по умолчанию.

Примечание

  • Название LOCAL TEMPORARY TABLE имеет префикс символа # (т.е.: #employees).

Пример

Рассмотрим пример создания LOCAL TEMPORARY TABLE в SQL Server (Transact-SQL).
Например:

В этом примере создается LOCAL TEMPORARY TABLE в SQL Server, называемая #employees, которая имеет 4 столбца.

  • Первый столбец называется employee_id, который создается как тип данных INT и не может содержать значений NULL.
  • Второй столбец называется last_name, который является типом VARCHAR (50 максимальных символов в длину), а также не может содержать значений NULL.
  • Третий столбец называется first_name, который является типом VARCHAR VARCHAR (50 максимальных символов в длину), но может содержать значения NULL.
  • Четвертый столбец называется salary, которая представляет собой тип данных MONEY, который может содержать значения NULL.
  • Первичным ключом для таблицы #employees является столбец employee_id.

Эта таблица #employees хранится в tempdb, и SQL Server автоматически удаляет эту таблицу, когда сеанс SQL Server будет завершен.