【发布时间】:2016-10-01 14:45:18
【问题描述】:
我创建了如下的对象关系类型。
CREATE OR REPLACE TYPE familycar_t AS OBJECT (
make VARCHAR (10),
model VARCHAR(10),
year NUMBER (4),
fuel_type VARCHAR (10));
/
CREATE OR REPLACE TYPE sedan_t AS OBJECT (
familycar ref familycar_t,
cylinder_Size number(10));
/
CREATE TABLE familycar OF familycar_t (PRIMARY KEY (make,model));
现在我想为“轿车”表设置主要如下。
CREATE TABLE sedan OF sedan_t (PRIMARY KEY (familycar_t.make,familycar_t.model));
但是会发生错误,
从第 4 行开始的错误命令 - CREATE TABLE 轿车 OF 轿车 (PRIMARY KEY (familycar_t.make,familycar_t.model)) 错误报告 - SQL 错误:ORA-00904:“FAMILYCAR_T”。“MAKE”:标识符无效 00904. 00000 - “%s:无效标识符” *原因:
*行动:
解决办法是什么?
【问题讨论】:
-
你试过了吗:
PRIMARY KEY (familycar.make, familycar.model)?也就是说,引用对象,而不是类型。 -
我尝试了以下方法,但不正确... CREATE TABLE 轿车 OF 轿车 (PRIMARY KEY (make%familycar,model%familycar));创建表轿车的轿车(主键(familycar.make%familycar_t,familycar.model%familycar_t)); CREATE TABLE 轿车 OF 轿车 (PRIMARY KEY (familycar.make%familycar_t,familycar.model%familycar_t));