2012-01-03 58 views
3

是否有存儲在使用SQL Server中的存儲過程的SELECT查詢結果的方式嗎?如何從SELECT存儲在SQL Server的多個值嗎?

在下面,我想同時存儲「一」,並從選擇查詢「二」的例子。

例子:

DECLARE @Values ??? 
SET @Values = (SELECT one, two FROM dummyTable) 
+1

要搶來自單行或多行的多個值? – 2012-01-03 20:27:41

+0

派生表? http://www.4guysfromrolla.com/webtech/112098-1.shtml – Tim 2012-01-03 20:47:24

回答

4
SELECT @Value1 = One, @Value2 = two FROM dummyTable; 

您在SQL Server中沒有任何數組。

+0

這是一個非常有用的技術 – chobo 2012-01-04 17:13:06

5

您可以使用一個表變量是:

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

INSERT INTO @TABLE 
SELECT one, two from dummytable 

像其他變量,這會不會是從PROC範圍之外的訪問。

它也是大量行的並不好,因爲優化總是假定一個單列的執行計劃。

2

如果您的查詢只返回單行:

DECLARE @v1 int -- or whatever 
DECLARE @v2 int 
SELECT @v1 = one, @v2 = two 
    FROM dummyTable 
    WHERE id = 1 

如果查詢返回多行,可以使用SELECT INTO,以避免申報表變量:

SELECT one, two 
    FROM dummyTable 
    INTO #temp 
SELECT * FROM #temp 
DROP TABLE #temp 
相關問題