执行Oracle对象类型与嵌套表创建语句遇ORA-00904错误求解决
解决Oracle ORA-00904错误的方案
你的错误出在最后一条CREATE TABLE语句的语法上:没有基于之前定义的traitement_type对象类型创建表,导致Oracle无法识别recome这个嵌套表列,同时主键的写法也不符合规范。
正确的建表语句
CREATE TABLE Traitement OF traitement_type (PRIMARY KEY(id_traitement)) NESTED TABLE recome STORE AS Les_recommendations;
关键修改说明
- 添加
OF traitement_type:指定表基于你之前定义的对象类型创建,表会自动继承对象类型的所有属性(包括id_traitement、duree、recome、description),Oracle就能正确识别recome列。 - 调整主键定义:将
PRIMARY KEY(id_traitement)放在括号内,符合Oracle基于对象类型创建表的语法要求。
执行上述修正后的语句,即可成功创建包含嵌套表的Traitement表。
内容的提问来源于stack exchange,提问作者sofianho
相关产品推荐
相关产品推荐

