我在我的 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
此处的任何帮助将不胜感激,以快速解决我遇到的此错误。
谢谢。