oracleでストアド・プロシージャをコールするときに、パラメータ型の順序が重要なのでしょうか?例えばOracleのストアドプロシージャ... INパラメータの前にOUTパラメータを置くことに問題がありますか?
(構文の誤差はご容赦ください)
my_proc (
param_a IN NUMBER
, param_b IN STRING
, param_c OUT NUMBER
, param_d OUT STRING
) begin
param_c = param_a
param_d = param_b
end
我々は上記のような何かをするとき、我々は(再び特定の構文を許してください)OUTパラメータにバックで出て渡された値を取得します。我々はparam_b上param_c移動すると
はしかし、我々は代わりに渡された値の0.0とNULLを取得します。私たちは、PL/SQLでこれをテストしている
my_proc (
param_a IN NUMBER
, param_c OUT NUMBER
, param_b IN STRING
, param_d OUT STRING
) begin
param_c = param_a
param_d = param_b
end
。
見落としているものはありますか?
おかげ BayouBob
名前付きパラメータまたは定位置パラメータを使用していますか?名前は時々あなたが期待しているように扱われず、ポジションとして扱われ、あなたが見たものを説明するかもしれません。 –
私たちは、接続する必要があるデータベースを提供するクライアントの気まぐれから自分自身を切り離そうとして、位置指定から名前付けに切り替えています。 –