2017-10-18 12 views
-1

私は、このOracle 11gのストアドプロシージャで間違いを見つけた:が暗黙算術演算子のOracleプロシージャパラメータ

"コード" の入力パラメータがこの形式(年/ ID)が

PROCEDURE getresult (C OUT RC, code IN VARCHAR) 
2017/000000023357

まあし、オラクルは暗黙の除算を行い、結果は除算操作の結果です。,0863552682279402320503489317977479984587

プロシージャー呼び出しを変更するのではなく暗黙の操作を避けるための提案はありますか?

答えて

1

コードパラメータはVARCHARであり、引用符なしで直接渡しています。次のように呼び出す必要があります。

EXEC getresult (v_c , '2017/000000023357'); 

¿代わり プロシージャ・コールを変更する暗黙の操作を回避するために、任意の提案?

なぜこのようにすればよいですか。プロシージャ引数には、引用符を使用せずにプレーンテキストとして解釈される算術式を含めることは期待できません。