SQL Server:将存储过程结果加载到表中

时间:2011-07-17 12:13:23

标签: sql sql-server

我有一个存储过程,它返回多个结果集(具体为三个结果集)。我只需要第一个结果集。我从不同的过程调用原始过程,我将返回的结果集存储到#table中,并从我的进一步处理中使用它。 此外,我无法修改原始存储过程来实现此目的。 请帮忙!

2 个答案:

答案 0 :(得分:1)

无法从SQL内的存储过程中检索第二个或更多结果集。

两个解决方法:

  • 定期调用存储过程并将结果存储在其他过程可以使用的表中的预定作业(如C#程序)。
  • 执行相同操作的SQL CLR存储过程。 SQL CLR过程的优点是可以从普通的SQL存储过程调用它,因此您不必等待计划的任务。

答案 1 :(得分:0)

我还没有对此进行测试,但解决方法是使用OpenQuery并使用它来调用您的SP,因为"Although the query may return multiple result sets, OPENQUERY returns only the first one"。 OPENROWSET也会这样做......