Предположим, что у меня есть эта иерархия, как я могу манипулировать (добавлять, редактировать) агентом или клиентом?
CREATE TYPE TPRENOM AS varray(3) OF VARCHAR2(20);
CREATE TYPE tadr as object(
cp int not null,
state varchar2(20),
city varchar2(20),
street varchar2(20),
doorNum int
);
create type tperson as object(
fname varchar2(20),
lname tprenom,
adress tadr,
phoneNum varchar2(10),
email varchar2(50)
)not final;
create type tutilisateur under tperson(
username varchar2(20),
password varchar2(20)
);
create table agent(
id_ag int not null,
infos tutilisateur not null
, CONSTRAINT agent_pk PRIMARY KEY
(
ID_ag
)
enable
);
create table client(
id_cl int not null,
infos tperson not null,
num_chec varchar2(30) not null,
CONSTRAINT client_pk PRIMARY KEY
(
ID_cl
)
enable
);
Я пробовал это, но это не сработало:
insert into agent values(1, tutilisateur( tperson( 'name', tprenom('bilel',
'dani','lastname3'), tadr(3,'state', 'miliana', 'hammama', 20),
'2140547854', 'email@gmail.com'), 'username', 'password'));
insert into client values(0, tperson('name', tprenom('bilel', 'dani',
'lastname3'), tadr(3,'state2','miliana','hammama',20)),'123456789');
При выводе sql выше отображается ошибка:
Ошибка SQL: ORA-02315: неверное количество аргументов для конструктора по умолчанию
00000 - «неверное количество аргументов для конструктора по умолчанию»
* Причина: число аргументов, указанное для конструктора по умолчанию, не соответствует количеству атрибутов типа объекта.
* Действие: Укажите правильное количество аргументов для конструктора по умолчанию и повторите операцию.
Я неправильно делаю наследование?
Спасибо за ваш ответ