2017-09-06 22 views
0

PL SQLストアドプロシージャの実行中に問題が発生しました。PLSQLプロシージャのパラメータの問題

パラメータが必要だと言われますが、それは誰にも定義されていません。私はここでは、このexecute SP_LIST_PRICE_BWI;

として実行しようとしました

は、プロシージャの宣言です:

create or replace PROCEDURE SP_LIST_PRICE_BWI (P_ERROR_CODE OUT VARCHAR2,P_ERROR_TEXT OUT VARCHAR2,P_DATA_TEXT OUT VARCHAR2)

あなたは私を助けることができれば、私は本当に感謝します。

よろしくおねがいします。 Nicolás。

+3

に** 3つの** outパラメータ定義された手順を渡すバインド変数を使用します。プロシージャーが結果を –

+0

に入れることができるように、いくつかの(PL/SQL)変数を提供する必要があります。プロシージャーでは、これらの3つのパラメーターが定義されて使用されます。 パラメータを指定することはどういう意味ですか? – nsoria

+0

手順の署名は**仕様**です。この場合、3つの出力パラメータを指定します。これは、プロシージャを呼び出すときに** 3つの一致する変数を割り当てる必要があることを意味します。 – APC

答えて

0

OUTパラメータの変数名を指定せずにプロシージャを呼び出すことはできません。

はどちらかあなたは

VARIABLE v_ERROR_CODE VARCHAR2 
VARIABLE v_ERROR_TEXT VARCHAR2 
VARIABLE v_DATA_TEXT VARCHAR2 

EXECUTE SP_LIST_PRICE_BWI(:v_ERROR_CODE ,:v_ERROR_TEXT, :v_DATA_TEXT); 

OR は、適切なサイズで変数を宣言し、それら

DECLARE 
v_ERROR_CODE VARCHAR2(5); 
v_ERROR_TEXT VARCHAR2(100); 
v_DATA_TEXT VARCHAR2(1000); 

BEGIN 
SP_LIST_PRICE_BWI(v_ERROR_CODE ,v_ERROR_TEXT, v_DATA_TEXT); 
END; 
+0

ありがとう!これは私のためにうまくいく。 – nsoria

関連する問題