0
我试图打电话与在包范围定义的表类型参数的功能,但得到的错误:PLS-00306:错号码或类型的呼叫“好玩”的论点
PLS-00306: wrong number or types of arguments in call to 'fun'.
CREATE OR REPLACE PACKAGE pkg AS
TYPE aging_sch_record_type IS
RECORD (days_delq NUMBER, eligible NUMBER, unit NUMBER, balance NUMBER);
TYPE aging_sch_table_type IS
TABLE OF aging_sch_record_type INDEX BY VARCHAR2(20);
PROCEDURE proc();
FUNCTION fun (v_aging_sch_table aging_sch_table_type,
v_days_delq NUMBER, v_eligible NUMBER) RETURN NUMBER;
END pkg;
create or replace PACKAGE BODY pkg AS
PROCEDURE proc() AS
CURSOR aging_sch_cursor IS
SELECT ...
GROUP BY ...;
v_aging_sch_row aging_sch_cursor%rowtype;
v_aging_sch_table aging_sch_table_type;
BEGIN
FOR v_aging_sch_row IN aging_sch_cursor LOOP
v_aging_sch_table(v_aging_sch_row.days_delq || ' ' || v_aging_sch_row.eligible).days_delq := v_aging_sch_row.days_delq;
v_aging_sch_table(v_aging_sch_row.days_delq || ' ' || v_aging_sch_row.eligible).eligible := v_aging_sch_row.eligible;
v_aging_sch_table(v_aging_sch_row.days_delq || ' ' || v_aging_sch_row.eligible).unit := v_aging_sch_row.unit;
v_aging_sch_table(v_aging_sch_row.days_delq || ' ' || v_aging_sch_row.eligible).balance := v_aging_sch_row.balance;
END LOOP;
INSERT INTO t
VALUES (fun(v_aging_sch_table,0,2));
END proc;
FUNCTION fun (v_aging_sch_table aging_sch_table_type,
v_days_delq NUMBER, v_eligible NUMBER) RETURN NUMBER
AS
BEGIN
...
END fun;
END pkg;
有什么想法是什么问题?
谢谢。
错误是哪一行? – Tenzin