在一个语句块中运行
declare par1 number;
par2 number;
begin
test(par1,par2);
end;
/

解决方案 »

  1.   

    你定义了四个变量,在传参时确只传了两个,而且类型还不对,定义的第一个参数是输出参数,就只能对应输出参数,是输入参数就只能对应输入参数。另外如果想不用位置确定参数就一定要自己指定如:p_create1(op_cc->straa,ip_nn->strbb,ip_aa->strcc,op_Result->strcc);这样才可以
      

  2.   

    可以不传,但是你用的是位置传参,所以,sql*plus把你传的第一个参数认为是输出参数了,这时你要么修改函数的定义,使两个输入参数分别在第一第二的位置,要么改调用方法p_create1(ip_nn->strbb,ip_aa->strcc);