CREATE OR REPLACE TYPE "R" AS OBJECT
(COL1 NUMBER,
COL2 DATE,
COL3 VARCHAR2(30),
COL4 NUMBER,
COL5 VARCHAR2(240))
/
CREATE OR REPLACE TYPE "T" AS TABLE OF R
/
CREATE OR REPLACE FUNCTION FUN1(fv_id NUMBER) RETURN T
IS
CURSOR c1 (cv_id NUMBER) IS
SELECT COL1,
COL2,
COL3,
COL4.
COL5
FROM TABLE1 WHERE id = cv_id;
tbl T;
lv_count NUMBER := 0;
BEGIN
tbl := T();
FOR i IN c1(fv_id)
LOOP
lv_count := c1%ROWCOUNT;
tbl.EXTEND;
dbms_output.put_line('lv_count :: '||lv_count);
tbl(lv_count).COL1 := I.COL1;
tbl(lv_count).COL2 := I.COL2;
tbl(lv_count).COL3 := I.COL3;
tbl(lv_count).COL4 := I.COL4;
tbl(lv_count).COL5 := I.COL5
END LOOP;
RETURN T;
END FUN1
/
function is created successfully
then i run the below statement
SELECT * FROM TABLE (FUN1(100));
"ORA-06530 : REFERENCE TO UNINITIALIZED COMPOSITE" Error is getting display..
i have already initialized as tbl := t();
what else it requires...kindly help
Thanks in advance.
Regards
GG