0

我有 2 个存储过程,每个 SP 返回 2 个具有相同模式的数据集。

数据就像

Stored procedure 1

Table1

ID       Name
1        Apple
2        Sony
3        DELL

Table2

OrderID  CustomerName
101        AB Stores
202        Sony World
301        PC House 

存储过程 2

Table1

ID       Name
21        HP
32        LG
34        ACCER

Table2

OrderID  CustomerName
1301        X-PC World
2202        Your PC House
3301        Ajant Stores

现在我想在其他存储过程中合并这样的数据

meargeData1 = SP1.Table1 + SP2.Table1

meargeData2 = SP1.Table2 + SP2.Table2

请建议我热我可以实现它。

4

2 回答 2

0

将两个过程的结果收集到一个临时表中,就像有问题的那样。

将存储过程的结果插入临时表

于 2012-10-29T08:47:41.597 回答
0

像这样的解决方案OPENROWSET(如@PreetSangha 所包含的链接问题)不能处理多个结果集——它们只给你第一个结果集。

类似地,使用诸如INSERT ... EXEC将处理来自存储过程的多个结果集的构造,但它将所有结果存储在单个表中 - 您将无法将它们分开。(还有其他问题INSERT ... EXEC也不值得在这里讨论)

我能看到的唯一方法是在某处用不是 TSQL 的语言编写一些过程代码。这可以在您正在构建的任何客户端应用程序中,也可以在 CLR 存储过程中。无论哪种情况,您都必须手动执行合并。

于 2012-10-29T08:58:47.387 回答