我在这里找不到什么问题,最后我决定在这里寻求帮助。
这就是我调用的方式:
DECLARE
RESSULT VARCHAR2(1000 CHAR);
V_TEST1 CARS_TABLE:=CARS_TABLE();
idx pls_integer :=0;
BEGIN
V_TEST1.EXTEND(2);
IDX := V_TEST1.COUNT; -- here there is NO problem
RESSULT:=MYFUNCTION(1, V_TEST1);
END;
这就是我要调用的..
CREATE OR REPLACE
FUNCTION MYFUNCTION(
CAR_ID IN INTEGER,
MYOUTTABLE OUT CARS_TABLE)
RETURN VARCHAR2
IS
RESSULT VARCHAR2(1000 CHAR);
idx pls_integer :=0;
BEGIN
IDX := MYOUTTABLE.COUNT; - HERE IS PROBLEM.. but why - I pass initialized collection
RETURN 'return param';
END MYFUNCTION;
CREATE OR REPLACE TYPE carElement
IS
OBJECT
(
kind VARCHAR2(60),
created DATE );
CREATE OR REPLACE TYPE CARS_TABLE
作为 carElement 的表格;
- 00000 - “对未初始化集合的引用” *原因:在集合未初始化的情况下,引用了嵌套表或可变数组的元素或成员函数(需要初始化集合的地方)。*操作:使用适当的构造函数或整个对象赋值来初始化集合。