[英]Error PLS-00306: wrong number or types of arguments in call to 'P_CHECKAVGRATE' PL/SQL: Statement ignored
I just started with SQL/PLSQL and I am writing a procedure that gets data from a SOAP api.我刚开始使用 SQL/PLSQL,我正在编写一个从 SOAP api 获取数据的过程。 The SOAP is working fine (tested it via soapUI), the procedure was compiled succesfully, but when I try to call it I have the following error:
SOAP 工作正常(通过soapUI 测试),程序编译成功,但是当我尝试调用它时出现以下错误:
[Error] Execution (7: 90): ORA-06550: line 7, column 90:
PLS-00306: wrong number or types of arguments in call to 'P_CHECKAVGRATE'
ORA-06550: line 7, column 2:
PL/SQL: Statement ignored
my procedure spec:我的程序规范:
procedure p_CheckAvgRate(ab in varchar2, bc in NUMBER, cd in NUMBER,
de in NUMBER, abc out number, bca out varchar2, cab out varchar2);
Procedure call:过程调用:
declare
aaa number;
bbb varchar2(200);
ccc varchar2(200);
begin
PacPackage.P_CHECKAVGRATE('abcd', 0, 1, 2, aaa, bbb, ccc);
DBMS_OUTPUT.PUT_LINE ( 'P_CHECKAVGRATE = ' || PacPackage.P_CHECKAVGRATE );
end;
Does anybody know what the problem is?有谁知道问题是什么?
It is not the procedure itself that is wrong, but DBMS_OUTPUT.PUT_LINE
call.错误的不是程序本身,而是
DBMS_OUTPUT.PUT_LINE
调用。 You can't use a procedure name as the "source" of a display value, but separate variables, eg您不能使用过程名称作为显示值的“来源”,而是使用单独的变量,例如
DBMS_OUTPUT.PUT_LINE ( 'aaa = ' || aaa ||', bbb = ' || bbb);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.