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

Clo*_*loy 0 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
Run Code Online (Sandbox Code Playgroud)

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

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

Rem*_*anu 5

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

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

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