我正在尝试使用精确的过程签名来调用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时参数类型的数量错误
知道为什么吗?谢谢
到目前为止,我的印象是同时启动的2个线程也是并行执行的(两者同时运行它们的代码),但我最近阅读了一些文档,我明白他们实际上已经轮流使用了执行他们的代码,因此第一个线程的代码片段没有与第二个线程的一段代码同时执行. 我的理解是否正确?
如果是,那么多线程如何比一个线程执行更快? 我问这个是因为唯一的区别是单个线程执行代码顺序,而多线程可以轮流执行,但仍然应该花费相同的时间,因为它没有什么并行完成
通常在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)