0

我的 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 错误。

我该如何解决这个问题?

提前致谢。

4

0 回答 0