2016-11-30 5 views

答えて

-3

あなたの問題は何か分かりません。なぜあなたはSPにリターン・ステートメントが必要なのでしょうか?

  1. 場合によっては、プロセスクロステーブル演算と複雑な計算が必要な場合があるためです。結果が必要な場合は、SPの結果を返す必要があります。

  2. 一部の集計計算では最終結果が必要ですが、集計SQLは非常に複雑です。一般的なSQL文の代わりにSPを使用し、結果を返す必要があります。

+0

あなたは完全に間違っています!ストアドプロシージャは関数のような値を返しません。呼び出し元のコードにデータを返す唯一の方法は、OUTPUTパラメータです。 – FDavidov

+0

あなたは本当に恐ろしいスペルと明確な要件よりも曖昧な質問に答えました。なぜですか? –

0

作成したとおり、ストアドプロシージャは値を返しません。それらは最初から最後まで実行され、実行するステートメントがなくなると、呼び出し元のコードに戻ります。

ストアドプロシージャ内でRETURNステートメントを使用すると、処理を続行しない場合があります。例:

3つのパラメータを受け取り、2、結果、ステータスコード(SUCCESSまたはFAILなど)を返すストアドプロシージャがあります。このプロシージャは、受信したすべてのパラメータが存在するか合法的な値であるかを最初にチェックし、存在しないか不正な値が見つかった場合は続行したくなくなり、該当するステータスコードを持つ呼び出しコードにRETURNを単に渡します。これは、RETURNコマンドで行います。

これは明らかです。

関連する問題