Oracle no compilará su definición porque el tipo Item
no ha sido compilado todavía. ¿Por qué no le das una oportunidad a esto?:
Compile esto:
CREATE OR REPLACE TYPE Item;
CREATE OR REPLACE TYPE items_table IS TABLE OF REF item;
y luego intente:
CREATE OR REPLACE TYPE item AS OBJECT (
id number,
subitems items_table
)