2010-08-26 60 views
0

嗯,我從另一個存儲過程調用存儲過程,我需要它返回類似於數組的東西。我該怎麼做?如何從存儲過程返回值列表?

+2

「像一個數組」? – 2010-08-26 03:49:24

+0

以及我知道他們沒有實現,但我需要找到 – Emre 2010-08-26 03:52:57

+1

你可以用一個表來代替..你能詳細說明你需要做什麼嗎? – 2010-08-26 03:55:57

回答

0

您可以使用臨時表或實際表執行此操作。請注意(不幸)它不適用於表變量。

設置您的表:

CREATE TABLE #Foo (Bar NVARCHAR(50), BAZ INT) 

那麼你的存儲過程:

CREATE PROCEDURE [GetFoo] AS 
BEGIN 
    SELECT [BarCol], [BazCol] FROM [BarBazSource] 
END 

然後使用EXEC T-SQL命令:

INSERT #Foo EXEC [GetFoo] 

#Foo臨時表中現在包括[GetFoo]存儲程序的輸出即

欲瞭解更多信息,有一個MSDN文章在這裏:"Getting Creative with EXEC and EXEC()"

+0

thx這將有所幫助 – Emre 2010-08-26 05:20:47

1

我可以建議你看一看Sommarskogs homepage on Arrays and Lists in SQL Server

他的主頁充滿了信息,所以擱置幾個小時閱讀一切。但是從這個鏈接開始。它只有大約60個屏幕已滿;-)
恕我直言,它涵蓋了所有內容存儲過程之間傳遞信息。強烈推薦。你真的只需要閱讀前幾頁。