从SQL Server 2008 R2中的存储过程存储多个数据集?

时间:2016-08-23 10:18:05

标签: sql sql-server sql-server-2008-r2

这就是我如何在返回单个数据集的过程中将数据集存储在表中。

 CREATE TABLE #TEMP (amount DECIMAL(18, 2), extra VARCHAR(50))  

 INSERT INTO #TEMP (extra, amount)
     EXEC sp_proc @para1, @para2, @para3

现在可以存储返回两个或多个表的过程中的数据集。如果可能,我该怎么做?

我不打算创建临时全局表,因为我必须改变多个过程。我可以在不改变程序的情况下这样做吗?

2 个答案:

答案 0 :(得分:5)

  

现在可以存储返回两个或更多表的过程中的数据集。如果可能,我该怎么做?

不,是不可能的,至少不是直接的。 INSERT ... EXEC的许多限制之一。我建议您修改存储过程,将其拆分为单独的存储过程,每个存储过程都返回自己的结果集。

间接地,您可以通过在T-SQL之外切换控制来实现,例如。通过SQLCLR程序运行它。

答案 1 :(得分:0)

不会在其他表格中存储来自SP的多个表格结果。 您必须为该

创建单独的SP