2009-01-22 119 views
4

在MS SqlServer中,有一些与共享另一个存储过程的数据结果有关的问题。如何在存储过程之间共享数据

根据SQL Server的版本,人们会建议使用临时表,xml(SQLServer 2005)或表变量(SQL Server 2008)。

有通过Erland Sommarskog,提供全面的答案,并列出不同版本的SQL的所有选项写了一大篇:

我认为这是值得分享。

我读到这篇文章时reading an answer by deevus建议使用INSERT-EXEC Statement的东西,我是不是真的很熟悉,以前

回答

9

有是Erland Sommarskog写了一大篇,提供了全面的解答,并列出所有可供选择在不同版本的SQL:

本文铲球两个相关 问题:

  • 我如何使用结果从另一个 存储过程中设置,也 表现为如何使用结果 集从一个存储过程中的 SELECT语句?
  • 如何将 表作为参数从一个存储的 过程传递给另一个?

在这篇文章中 我将讨论一些方法, 也指出他们的优点 和缺点。有些方法 仅适用于想要重复使用 结果集,而其他方法适用于 这两种情况。如果您希望 重用结果集,大多数方法 都要求您以某种方式重写存储的 过程,但是 有一些方法不会。