我有一个sales_person_type定义如下:Oracle中创建表的主键
CREATE OR REPLACE TYPE sales_person_type UNDER person_type (
salesAppointments sales_person_appointments
);
这是被定义为这样的person_type的子类:
CREATE OR REPLACE TYPE person_type AS OBJECT (
personID NUMBER,
forename VARCHAR2(30),
surname VARCHAR2(20),
dateOfBirth DATE
) NOT FINAL;
我试图创建销售人员表并将主键指定为超类属性,如下所示:
CREATE TABLE sales_person_table OF sales_person_type (
PRIMARY KEY (personID),
OBJECT IDENTIFIER IS PRIMARY KEY)
NESTED TABLE salesAppointments STORE AS sale_appointment_table (
(PRIMARY KEY(NESTED_TABLE_ID, appointmentID))
ORGANIZATION INDEX COMPRESS)
RETURN AS LOCATOR
但我得到这个错误:
SQL Error: ORA-02330: datatype specification not allowed 02330. 00000 - "datatype specification not allowed" *Cause: An attempt was made to specify the data type in the column constraint specification of an object table.
我想这是因为即时尝试将主键分配为超类attibute?这是正确的语法吗?
干杯。
编辑:
现在的作品,谢谢Dimitry。
2014-03-18
Nick