我想知道,如何在变量中存储多行.i.e。我的查询将返回多行,我想将其存储在变量中。 谢谢你。
答案 0 :(得分:5)
在SQL Server 2008中,有一个名为 Table Valued Parameters 的功能,允许您将行存储到可以跨存储过程传递的变量中。
但是,如果你的意图是操纵同一个商店过程中的数据,那么普通的表变量就可以了。这是一个例子:
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
现在包含符合条件的所有行,您仍然可以继续添加更多行,进行进一步操作甚至返回其内容。
答案 1 :(得分:0)
您可以使用table valued parameter,也可以使用旧的备用临时表。