0

私のシェルスクリプトは、いくつかの操作を実行するためにプロシージャを呼び出しています。プロシージャル コールにデフォルト値が 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 エラーが発生します。

この問題を解決するにはどうすればよいですか?

前もって感謝します。

4

0 に答える 0