2009-06-09 4 views
0

私はブール値を返すPL/SQLで書かれた関数を呼び出す必要があるこのアプリケーションを開発しています。私が理解しているように、boolはSQLの型ではありませんが、PL/SQLでは、関数の戻り値の型はどうなりますか?ブール型の戻り値を持つpl/sql関数のOracleType?

command.Parameters.Add( "P_RETURN"、OracleType。???);

(記録のために:私は物事のPL/SQLの終了を制御することはできませんので、私は機能を書き換えることはできませんよ)

答えて

4

あなたはあなたの関数を呼び出した結果とSYS.diutil.bool_to_int機能を呼び出すことができます。たとえば:

bool_to_int:ドキュメントから

SYS.diutil.bool_to_int(your_function(...)) 

はBOOLEANパラメータを送信で使用 FOR番号に3値BOOLEANを変換/ RETURNは、PLSのV1(クライアント)とPLS V2との 値。 SQLNET は何BOOLEANバインド変数の型を持っていないので、我々はあなたがPL/SQLのみboolean型を変換する必要がある= 1、NULL = NULL NUMBER

+0

私はこれまでにこのパッケージを聞いたり、読んだことがなかった... – Mac

+0

それは私にも新しかった。 http://www.psoug.org/reference/diutil.html 明らかにDIANA(PL/SQLコンパイラ)用のユーティリティパッケージ。正式には文書化されていませんが、7.3.4から11gまで安定しているようです。 –

関連する問題