我在shell脚本中调用SP。下面提到的是输入参数,其数据类型通过SP传递: -
p_1 IN VARCHAR2
p_2 IN VARCHAR2
p_3 IN NUMBER DEFAULT 0
p_4 IN VARCHAR2 DEFAULT 'A'
p_5 IN NUMBER DEFAULT NULL
p_6 OUT NUMBER
p_7 OUT VARCHAR2
我传递变量的shell脚本中的代码段如下: -
echo "var p_6 number;" >> $output.txt
echo "var p_7 varchar2(5000);" >> $output.txt
echo "exec call_sp('p_1','p_2',0,'A',null,:p_6,:p_7);" >> $output.txt
echo "exit" >> $output.txt
当我执行shell脚本时,我在日志中收到以下错误: -
BEGIN CALL_SP('1','Art',0 ,'A' ,null ,:p_6,:p_7); END;
*
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'CALL_SP'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
传递给变量的最终值是: -
p_1 -> '1'
p_2 -> 'Art'
p_3 -> 0
p_4 -> 'A'
p_5 -> null
如果有任何帮助,我们将非常感谢您快速修复此错误。
感谢。