简体   繁体   English

错误 PLS-00306:在调用“P_CHECKAVGRATE”PL/SQL 时 arguments 的数量或类型错误:语句被忽略

[英]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.

相关问题 PL / SQL-连接时始终收到此错误:PLS-00306:调用'||'时参数或参数类型错误 - PL/SQL - I keep getting this error when concatenating: PLS-00306: wrong number or types of arguments in call to '||' 如何更正 '' PLS-00306:在调用 '' 时 arguments 的错误编号或类型 - How to correct '' PLS-00306: wrong number or types of arguments in call to '' Oracle过程调用导致“ PLS-00306:调用中参数的数量或类型错误” - Oracle procedure call results in “PLS-00306: wrong number or types of arguments in call” PLS-00306:调用现有存储过程时参数的数量或类型错误 - PLS-00306: wrong number or types of arguments in call to existing stored procedure 功能:PLS-00306:调用'WORK_DAYS'时参数的数量或类型错误 - Function : PLS-00306: wrong number or types of arguments in call to 'WORK_DAYS' PLS-00306:错误的参数数量或类型提示具有“可变”参数数量的函数的提示 - PLS-00306: wrong number or types of arguments tips on function with “variable” number of arguments 将PHP数组传递给Oracle存储过程(PLS-00306:错误数量或参数类型) - passing PHP array to Oracle Stored Proc (PLS-00306: wrong number or types of arguments) 对过程的调用中参数的数量或类型错误(PLS00306) - wrong number or types of arguments in call to procedure (PLS00306) 使用带有布尔 IN 参数的 CallableStatement 在 Java 中调用 Oracle PL/SQL 过程会产生 PLS-00306 oracle 错误: - Calling an Oracle PL/SQL procedure in Java using a CallableStatement with a boolean IN parameter gives an PLS-00306 oracle error: PLS-00306:从PL / SQL块调用函数时 - PLS-00306: when calling a function from a PL/SQL block
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM