gpt4 book ai didi

oracle - 存储过程的参数数量 PLS-00306

转载 作者:行者123 更新时间:2023-12-02 06:54:27 25 4
gpt4 key购买 nike

我在调用我的程序时遇到问题。甲骨文紧急暂停

PLS-00306 Error: Wrong number of types of arguments in call to procedure.

我的类型声明过程具有与下面标题中完全相同的声明。如果我将它作为单独的过程运行,它会起作用,当我在 ODCI 接口(interface)中创建可扩展索引时,它会抛出 PLS-00306。

MEMBER PROCEDURE FILL_TREE_LVL
(target_column VARCHAR2, cur_lvl NUMBER, max_lvl NUMBER,
parent_rect NUMBER,start_x NUMBER, start_y NUMBER,
end_x NUMBER, end_y NUMBER)
IS
stmt VARCHAR2(2000);
rect_id NUMBER;
diff_x NUMBER;
diff_y NUMBER;
new_start_x NUMBER;
new_end_x NUMBER;
i NUMBER;
j NUMBER;
BEGIN
{...}
END FILL_TREE_LVL;


STATIC FUNCTION ODCIINDEXCREATE
(ia SYS.ODCIINDEXINFO, parms VARCHAR2, env SYS.ODCIEnv) RETURN NUMBER
IS
stmt VARCHAR2(2000);
stmt2 VARCHAR2(2000);
min_x NUMBER;
max_x NUMBER;
min_y NUMBER;
max_y NUMBER;
lvl NUMBER;
rect_id NUMBER;
pt_tab VARCHAR2(50);
rect_tab VARCHAR2(50);
cnum NUMBER;
TYPE point_rect is RECORD(
point_id NUMBER,
rect_id NUMBER
);
TYPE point_rect_tab IS TABLE OF point_rect;
pr_table point_rect_tab;

BEGIN

{...}
FILL_TREE_LVL('any string', 0, lvl,0, min_x, min_y, max_x, max_y);
{...}

END;

最佳答案

我没有 PL/SQL OOP 经验,但我猜想出现问题是因为您尝试从静态函数调用成员过程。成员过程总是需要一个对象上下文,而调用时缺少该对象上下文。

关于oracle - 存储过程的参数数量 PLS-00306,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3011798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com