How to convert type to table?
October 11th, 2006 By plasma
CREATE OR REPLACE TYPE mytype AS OBJECT (
field_1 VARCHAR2 (256),
field_2 VARCHAR2 (256),
field_3 VARCHAR2 (256),
field_4 VARCHAR2 (256),
field_5 VARCHAR2 (256)
)
FINAL;
/
CREATE OR REPLACE TYPE myarray IS TABLE OF mytype;
/
DECLARE
la_myarray myarray := myarray ();
lvc_search_string VARCHAR2 (512);
BEGIN
FOR ln_i IN 1 .. 10
LOOP
la_myarray.EXTEND;
la_myarray (la_myarray.LAST) :=
mytype ('a' || ln_i,
'b' || ln_i,
'c' || ln_i,
'd' || ln_i,
'e' || ln_i
);
END LOOP;
SELECT a.field_2
INTO lvc_search_string
FROM la_myarray a
WHERE a.field_3 LIKE '%7'
ORDER BY a.field_5;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line (SQLERRM);
END;
How can I select from my array? is this possible?

October 11th, 2006 at 2:51 pm
Simply use “FROM TABLE(la_myarray) a”
This works in 9iR2.