В SQL Server 2008 есть функция под названием Таблица значений параметров , которая позволяет хранить строки в переменной, которую можно передавать через хранимые процедуры.
Если, однако, вы намерены манипулировать данными внутри одной и той же процедуры хранения, тогда обычные переменные таблицы будут в порядке. Вот пример:
DECLARE @MyTableVariable TABLE
(
Id int,
FirstName varchar(10),
LastName varchar(10)
);
INSERT @MyTableVariable(Id, FirstName, LastName)
SELECT Id, FirstName, LastName FROM SomeOtherTable WHERE SomeCriteria
@MyTableVariable
теперь содержит все строки, соответствующие критерию, вы все равно можете продолжать добавлять дополнительные строки, выполнять дальнейшие манипуляции и даже возвращать их содержимое.