<wrong number =“”或=“”types =“”of =“”arguments =“”error =“”>在Shell脚本中将参数传递给SP </wrong>

时间:2013-07-05 18:05:54

标签: unix plsql

我在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

如果有任何帮助,我们将非常感谢您快速修复此错误。

感谢。

0 个答案:

没有答案