I want to do something like this
create type Item as object ( id number, subitems table of ref Item )
but oracle throws an exceptio
That would be nice wouldn't it! You could try this:
create type item_ids_t is table of number; create type Item as object ( id number, subitems item_ids_t);
Which means that subitems is just a list of ids, which would then be used to look up a table indexed by id.