Я получаю ошибку ORA-00909 при вставке объекта супертипа в таблицу объектов.Это определения для объектов:
CREATE OR REPLACE TYPE address AS OBJECT (
street VARCHAR(20),
country VARCHAR(20),
province VARCHAR(20),
city VARCHAR2(20),
zipcode VARCHAR(10)
) FINAL;
CREATE OR REPLACE TYPE company AS OBJECT (
CIF VARCHAR2(9),
code VARCHAR2(10),
name VARCHAR2(20),
signUpDate DATE,
email VARCHAR2(20),
adminAddress address
) NOT FINAL;
CREATE OR REPLACE TYPE inCourseCompany UNDER company (
postalAddress address,
numEmployees NUMBER
) FINAL;
И таблица объектов:
CREATE TABLE companies_objtab OF company (PRIMARY KEY CIF) OBJECT IDENTIFIER IS PRIMARY KEY;
Я пытаюсь вставить объект с помощью следующего оператора:
INSERT INTO companies_objtab VALUES (
company('J12345678','000001','Test Company',TO_DATE(sysdate, 'dd/mm/yyyy hh24:mi:ss'),'',address('','','','',''))
);
и я получаю сообщение об ошибке
SQL: ORA-00909: недопустимое количество аргументов 00909. 00000 - «недопустимое количество аргументов»
Однако, когда я вставляюобъект подтипа inCourseCompany вставлен правильно:
INSERT INTO companies_objtab VALUES (
inCourseCompany('G11111111','','',TO_DATE(sysdate, 'dd/mm/yyyy hh24:mi:ss'),'',address('','','','',''), address('','','','',''), 100)
);
Любой намек на то, что вызывает ошибку?
Я использую Oracle SQL Developer 4.0.2.15.21 и Oracle Database Express Edition 11gВыпуск 2.
Заранее спасибо.