如何在SQL Server中存储SELECT中的多个值?

cho*_*obo 3 sql-server stored-procedures sql-server-2008

有没有办法使用SQL Server将SELECT查询的结果存储在存储过程中?

在下面的示例中,我想从select查询中存储"one"和"two".

例:

DECLARE @Values ???
SET @Values = (SELECT one, two FROM dummyTable)
Run Code Online (Sandbox Code Playgroud)

JNK*_*JNK 5

您可以使用表变量:

DECLARE @Table TABLE (one varchar(100), two varchar(100)

INSERT INTO @TABLE
SELECT one, two from dummytable
Run Code Online (Sandbox Code Playgroud)

与其他变量一样,这不能从proc的范围之外访问.

它对于大量行也不好,因为优化器总是为执行计划假设一行.