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

Collect the results of both procedures into a into a temporary table like in question.

Insert results of a stored procedure into a temporary table

于 2012-10-29T08:47:41.597 に答える
0

(@PreetSangha に含まれるリンクされた質問のように) のようなソリューションOPENROWSETは、複数の結果セットに対応していません。最初の結果セットのみを提供します。

同様に、 のような構成を使用するINSERT ... EXECと、ストアド プロシージャからの複数の結果セットに対処できますが、すべての結果が 1 つのテーブルに格納されます。結果を分離することはできません。INSERT ... EXEC(ここに入る価値のない他の問題もあります)

これを行う唯一の方法は、TSQL 以外の言語で手続き型のコードを書くことです。これは、構築しているクライアント アプリケーション、または CLR ストアド プロシージャのいずれかにある可能性があります。いずれの場合も、手動でマージを実行する必要があります。

于 2012-10-29T08:58:47.387 に答える