2011-11-08 8 views
1

ユーザーを作成するために呼び出すストアドプロシージャがあります。そのストアドプロシージャ内で、他のストアドプロシージャを呼び出して、ユーザーが開始する必要があるものを作成します。ストアドプロシージャのそれぞれは、このようなもので終わる:別のストアドプロシージャを呼び出した後にストアドプロシージャから間違った結果を取得する

select 1 AS statusMsg, 'User Successfuly Created' as msg; 

問題は、我々は間違ってstatusMsgmsgバックを取得しているということです。

我々はして手順を終了:

call createDefaultSites(l_customerguid); 
select 1 AS statusMsg, 'User Successfuly Created' as msg; 

しかし、我々ではなく、最終的な選択のcreateDefaultSites()呼び出しからstatusMsgmsgをバック取得しています。

最後のステートメントだけが結果を返すようにするにはどうすればよいですか?

答えて

1

私は、それぞれの戻り値に識別子を追加し、それらをループして探していたものを見つけました。

select 1       AS statusMsg, 
     'User Successfuly Created' AS  msg, 
     'UserCreation'    AS msgType; 

私は正直に私は複数の結果セットを取得していたことを認識していませんでした。 statusMsgが最初の結果セットのものだった場合、かもしれません。おそらくが少し速いとわかっていました。

関連する問題