如何在oracle11g中定义引用该类型集合的类型?

时间:2009-06-28 13:06:53

标签: database oracle object-relational-model

我想做这样的事情

create type Item as object (
    id number,
    subitems table of ref Item
)

但是当我尝试执行此操作时,oracle会抛出异常。这是可能的,如果是,那么如何?

2 个答案:

答案 0 :(得分:8)

Oracle不会编译您的定义,因为类型Item尚未编译。为什么不试试这个:

编译:

CREATE OR REPLACE TYPE Item;

CREATE OR REPLACE TYPE items_table IS TABLE OF REF item;

然后尝试:

CREATE OR REPLACE TYPE item AS OBJECT (
   id number,
   subitems items_table
)

答案 1 :(得分:0)

那不是很好!你可以试试这个:

create type item_ids_t is table of number;

create type Item as object (
   id number,
   subitems item_ids_t);

这意味着子项只是一个id列表,然后用于查找由id索引的表。