Локальная временная таблица имеет префикс # в имени, область видимости только текущего соединения пользователя, удаляется после того, как пользователь отсоединится от сервера.
Глобальная временная таблица имеет префикс ## в имени, область видимости для всех пользователей, удаляется после того, как все пользователи отсоединятся от сервера.
Глобальная временная таблица имеет префикс ## в имени, область видимости для всех пользователей, удаляется после того, как все пользователи отсоединятся от сервера.
Синтаксис
/*локальная временная таблица*/ --выбор базы USE имя_базы GO --создание временной локальной таблицы, 1 # символ CREATE TABLE #имя_таблицы ( имя_столбца тип [свойства_столбца] ) [COLLATE правило_сравнения] /*глобальная временная таблица*/ --выбор базы USE имя_базы GO --создание временной глобальной таблицы, 2 ## символа CREATE TABLE ##имя_таблицы ( имя_столбца тип [свойства_столбца] ) [COLLATE правило_сравнения] /*табличаня переменная*/ --выбор базы USE имя_базы GO --создание табличной переменной DECLARE @имя_табличной_переменной TABLE( имя_столбца тип [свойства_столбца] ) [COLLATE правило_сравнения]
Script.sql
/*локальная временная таблица*/ --выбор базы USE zzz GO --создание временной локальной таблицы, 1 # символ CREATE TABLE #one ( Name NVARCHAR(100) NOT NULL ) --вставка данных INSERT INTO #one(Name) VALUES (N'Hello World!'), (N'Привет Мир!') --вывод SELECT * FROM #one /*глобальная временная таблица*/ --выбор базы USE zzz GO --создание временной локальной таблицы, 2 # символа CREATE TABLE ##two ( Name NVARCHAR(100) NOT NULL ) --вставка данных INSERT INTO ##two(Name) VALUES (N'Hello World!'), (N'Привет Мир!') --вывод SELECT * FROM ##two /*табличная переменная*/ --выбор базы USE zzz GO --создание табличной переменной DECLARE @three TABLE( Name NVARCHAR(100) NOT NULL ) --вставка данных INSERT INTO @three(Name) VALUES (N'Hello World!'), (N'Привет Мир!') --вывод SELECT * FROM @three
/*локальная временная таблица*/ --выбор базы USE zzz GO --создание временной локальной таблицы, 1 # символ CREATE TABLE #one ( Name NVARCHAR(100) NOT NULL ) --вставка данных INSERT INTO #one(Name) VALUES (N'Hello World!'), (N'Привет Мир!') --вывод SELECT * FROM #one /*глобальная временная таблица*/ --выбор базы USE zzz GO --создание временной локальной таблицы, 2 # символа CREATE TABLE ##two ( Name NVARCHAR(100) NOT NULL ) --вставка данных INSERT INTO ##two(Name) VALUES (N'Hello World!'), (N'Привет Мир!') --вывод SELECT * FROM ##two /*табличная переменная*/ --выбор базы USE zzz GO --создание табличной переменной DECLARE @three TABLE( Name NVARCHAR(100) NOT NULL ) --вставка данных INSERT INTO @three(Name) VALUES (N'Hello World!'), (N'Привет Мир!') --вывод SELECT * FROM @three