2017-05-17 7 views
1

SQL Serverで既存のストアドプロシージャを実行し、結果をJSONで取得したいとします。SQL Serverストアドプロシージャの結果をJSONでどのように取得しますか?

詳細:既存のストアドプロシージャdbo.pr_GetUserはレコードセットを返します。

私は、次の操作を実行するラッパーを作成したい:

EXEC dbo.pr_GetUser 
FOR JSON AUTO 

これは私が既存のストアドプロシージャを消費することを可能にし、ロジックで内部の仕組みや修正を心配することはありません。

既存のストアドプロシージャを編集しなくても可能ですか?

+0

私はコメントの中で質問するのはお勧めできませんが、あなたは何かを考え出したのですか? –

答えて

1

あなたは#ta​​bleのテーブル構造は、結果として同じであることを、この、

INSERT INTO #table(userId int) 
EXEC dbo.pr_GetUser 

select userId from #table FOR JSON Auto 

ノートのようにそれを行うことができます。

+0

ストアドプロシージャがより多くの列を返すときにWrapperが壊れることがあります。元のストアドプロシージャの開発者は、ストアドプロシージャを使用しているユーザーがわからない場合がありますが、プロシージャのシグネチャは下位互換性のために同じままです。 –

+0

あなたは結果が同じ構造ではないという意味ですか? – SHD

+0

返される元の列とデータ型は常に同じで、削除または変更されませんが、必ずしも使用する必要のない追加の列が将来返される可能性があります。 –

関連する問題