これはメタ質問です。INFORMATION_SCHEMA
各データベースに付属しているものを使用して、ストアドプロシージャの戻り値をどのように検出しますか?関数を使用すると、戻り値は明示的に宣言され、INFORMATION_SCHEMA
下に表示されROUTINES
ます。
ただし、ストアドプロシージャは、奇妙な灰色の領域のように見えます(SPと関数の違いはいつものことです)。公式には「戻り値」がないようですが、最後に次のようなSELECTステートメントを実行できます。
SELECT RowID = @RowID;
例えば; C#では、「RowID」列から戻り値を読み取ります。これにより、関数のようにT-SQLコードのコンテキスト内ではありませんが、ストアドプロシージャが実際に値を返すことができることが明確になります。
定義自体を解析せずに、これらの値とそのタイプをどのように発見するのでしょうか。
編集
これを検索する場合、ストアドプロシージャの戻り値は暗黙的に整数ですが、結果セットと呼ばれるデータを返すこともできます。