我的 shell 脚本正在调用一个过程来执行一些操作。我在 Procedural 调用中有一个默认值为 NULL 的列,所以我想通过我的 Shell 脚本传递 NULL 值。当我执行 Shell 脚本时,我收到“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。我希望我的 shell 脚本将 NULL 值传递给这个过程调用。
调用Procedure的Shell脚本代码:-
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 错误。
我该如何解决这个问题?
提前致谢。