小编Ali*_*lin的帖子

PL/SQL:错误"PLS-00306:调用的参数的数量或类型错误"触发了数字表

我正在尝试使用精确的过程签名来调用API,但不知何故,我认为不能正确识别的数字表.

API定义:

TYPE NUMLIST IS TABLE OF NUMBER INDEX BY VARCHAR2(50);

PROCEDURE GETSERVICES_API
(
   I_DIMOBJID IN NUMBER, I_OBJECTID IN NUMBER, I_FILTER IN NUMBER, 
   O_ERRORCODE OUT NUMBER, O_ERRORTEXT OUT VARCHAR2, O_SERVICELIST OUT NUMLIST
);
Run Code Online (Sandbox Code Playgroud)

我对API的要求:

DECLARE

   TYPE NUMLIST IS TABLE OF NUMBER INDEX BY VARCHAR2(50);
   lt_SERVICELIST              NUMLIST;

   ls_errortext             varchar2(100);
   ln_errorcode             number;

BEGIN


    PKGCOMSUPPORT_SERVICE.GETSERVICES_API(I_DIMOBJID => 6,
                                          I_OBJECTID => 5263,
                                          I_FILTER => 3,
                                          O_ERRORCODE => ln_errorcode,
                                          O_ERRORTEXT => ls_errortext,
                                          O_SERVICELIST => lt_SERVICELIST);

END;
Run Code Online (Sandbox Code Playgroud)

当我运行我的API调用时,我得到:PLS-00306:调用'GETSERVICE_API时参数类型的数量错误

知道为什么吗?谢谢

oracle plsql

8
推荐指数
1
解决办法
9万
查看次数

Java线程实际上并不是并行执行的?

到目前为止,我的印象是同时启动的2个线程也是并行执行的(两者同时运行它们的代码),但我最近阅读了一些文档,我明白他们实际上已经轮流使用了执行他们的代码,因此第一个线程的代码片段没有与第二个线程的一段代码同时执行. 我的理解是否正确?

如果是,那么多线程如何比一个线程执行更快? 我问这个是因为唯一的区别是单个线程执行代码顺序,而多线程可以轮流执行,但仍然应该花费相同的时间,因为它没有什么并行完成

java parallel-processing multithreading

5
推荐指数
1
解决办法
5378
查看次数

为什么在JAVA中没有大括号的另一个IF中允许使用IF块

通常在JAVA中,如果IF语句没有大括号,只有一条线在满足IF条件时执行,但是如果另一个IF块(内部IF)跟在初始IF之后,则不会触发任何错误,并且还有更多线.这怎么可能?

if (true)
if (true)
   System.out.println("true");
else
   System.out.println("false");
Run Code Online (Sandbox Code Playgroud)

java if-statement brackets

2
推荐指数
1
解决办法
148
查看次数