Табличные переменные
Табличные переменные (table variable) позволяют сохранить содержимое целой таблицы. Формальный синтаксис определения подобной переменной во многом похож на создание таблицы:
1 2 3 4 | DECLARE @табличная_переменная TABLE(столбец_1 тип_данных [атрибуты_столбца], столбец_2 тип_данных [атрибуты_столбца] ....) [атрибуты_таблицы] |
Например:
1 | DECLARE @ABrends TABLE (ProductId INT, ProductName NVARCHAR(20)) |
В данном случае переменная @ABrends будет содержать два столбца.
В дальнейшем мы сможем работать с этой переменной как с обычной таблицей, то есть добавлять в нее данные, изменять, удалять и извлекать их:
1 2 3 4 5 6 7 | DECLARE @ABrends TABLE (ProductId INT, ProductName NVARCHAR(20))INSERT INTO @ABrendsVALUES(1, 'iPhone 8'),(2, 'Samsumg Galaxy S8')SELECT * FROM @ABrends |

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