我试图创建一个具有对象类型列和棘手的嵌套表层次结构的表。得到ORA-22913错误。在CREATE表语句中,列“theCol”是object类型(即MainObj)。 MainObj包含嵌套表类型的属性,即ChildTab。我想我应该在CREATE TABLE语句中使用NESTED TABLE子句。但不知道如何在这里使用它,因为“theCol”不是嵌套表类型。
DROP TYPE MainObj;
DROP TYPE ChildTab;
DROP TYPE ChildObj;
CREATE TYPE ChildObj AS OBJECT (
naame varchar2(20)
, kaam varchar2(20)
);
/
CREATE TYPE ChildTab AS TABLE OF ChildObj;
/
Create TYPE MainObj as OBJECT (
KEEY VARCHAR2(5),
ChildList ChildTab
);
/
CREATE TABLE TestTableDesi (
theCol MainObj
);
/
类型已丢弃。类型已丢弃。类型已丢弃。已创建类型。已创建类型。已创建类型。 ORA-22913:必须为嵌套表列或属性指定表名
刚刚找到解决方案。 How do I create an Oracle table of objects containing nested tables? create table语句应如下所示。
CREATE TABLE TestTableDesi (
theCol MainObj
) nested table theCol.ChildList store as ChildList_tab ;
/