2017-06-06
zelder
2017-06-27
06/06
2017

Временные таблицы и табличные переменные в MS SQL

Табличные переменные
можно подробнее прочитать на сайте https://habrahabr.ru/sandbox/22659/

-- объявление структуры таблицы (с собачкой - локальная)
DECLARE @GuidesTable TABLE ([ID] dtBigInt NULL, [TYPE_ID] dtInt NULL)

-- заполнение таблицы данными
INSERT INTO @GuidesTable
SELECT TOP 100
-- структура данных должна совпадать с таблицей
OBJ.[OBJECT_ID], OBJ.[OBJECT_TYPE_ID]
FROM [dbo].[ObjectTable] OBJ
WHERE OBJ.[OBJECT_TYPE_ID] IN (2, 4, 6)
AND OBJ.[IN_SITE] = 1
ORDER BY OBJ.[NAME] ASC

-- вывод данных
SELECT * FROM @GuidesTable
ORDER BY OBJ.[NAME] DESC -- можно еще выполнить сортировку или фильтрацию

-- удаление использованной табличной переменной: "автоматически очищаются в конце функции, хранимой процедуры или пакета, где они были определены"


Временные таблицы
можно прочитать в статье http://www.t-sql.ru/post/temp_table.aspx

create table #T ( [ID] int, [VAL1] varchar(10), [VAL2] datetime ) 






.