我正在调用另一个存储过程的存储过程,我需要它返回类似数组的东西。我该怎么办?
答案 0 :(得分:1)
我建议你看看Sommarskogs homepage on Arrays and Lists in SQL Server吗?
他的主页上充满了信息,所以请花几个小时阅读所有内容。但是从这个链接开始。它只有大约60个屏幕已满;-)
恕我直言,它涵盖了存储过程之间传递信息的一切。强烈推荐。而你真的只需阅读前几页。
答案 1 :(得分: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()"