私のシェルスクリプトは、いくつかの操作を実行するためにプロシージャを呼び出しています。プロシージャル コールにデフォルト値が NULL の列があるため、シェル スクリプトを介して NULL 値を渡したいと考えています。シェル スクリプトを実行すると、「PLS-00306: 'INSERT_GROUP' の呼び出しで引数の数またはタイプが間違っています」という例外が発生します。
手順の署名:-
create or replace
PROCEDURE INSERT_GROUP (
col_1 IN NUMBER,
col_2 IN VARCHAR2,
col_3 IN VARCHAR2,
col_4 IN VARCHAR2,
col_5 IN NUMBER DEFAULT 0,
col_6 IN VARCHAR2 DEFAULT 'A',
**col_7 IN NUMBER DEFAULT NULL,**
col_8 OUT NUMBER,
col_9 OUT VARCHAR2 )
現在、col_7 のデフォルト値は NULL です。そして、シェルスクリプトがこのプロシージャ呼び出しに NULL 値を渡すようにします。
プロシージャが呼び出されるシェル スクリプト コード:-
echo "Exec INSERT_GROUP($col_1_val,'"$col_2_val"','"$col_3_val"','"$col_4_val"',0,'"col_5_val"',NULL);" >> exec_sp.txt
echo "EXIT" >> exec_sp.txt
col_7 値に NULL を渡すと、ORA エラーが発生します。
この問題を解決するにはどうすればよいですか?
前もって感謝します。