2011-11-03 13 views
1

いくつかの入力を取得して出力を返します(関数から変換された)ストアドプロシージャを持っています また、複数のテーブルからデータを取得し、その関数を呼び出すために使用するステートメントがSELECTです。私はちょうどSELECT文の中でストアドプロシージャを実行し、結果を1つ取得したい
は 例を設定します。SQLのSELECTステートメントのEXEC

SELECT a, b, c, @var=exec sp_name par1, par2 or 
SELECT col1, col2, col3, exec SP_name par1, par2 output 
+2

ストアドプロシージャではできませんが、スカラー関数で行うことはできます。 – JNK

答えて

5

あなたがこれを行うことはできません。ストアドプロシージャはインラインステートメントとして実行できません。ストアドプロシージャでデータ操作を行う予定がない場合は、実際に関数に変換する必要があります。あなたはSELECTクエリで出力PARAMを使用し、または任意のパラメータを可能にクエリすることができOUTPUTパラメータを持っている場合は

exec spYourProc @firstINvar, @firstOUTvar output 

それとも、いつものような何かを行うことができます。