Предположим, что я использую табличную персону, и у людей может быть несколько фамилий, так что атрибут должен быть, например, из 3-х элементов (это не то, где хранить фамилии), вот простой sql для созданиявведите фамилию, имя участника таблицы и добавьте пример строки в sql developper оракула (11G XE):
create type lastn as varray(3) of varchar2(10);
CREATE TABLE person
(
ID NUMBER NOT NULL
, last_name lastn
, CONSTRAINT EXEMPLE_PK PRIMARY KEY
(
ID
)
ENABLE
);
insert into person values(1,lastn('dani','bilel'));
Я знаю, как обновить все фамилии одновременно, но мне нужно сохранить существующие фамилии идобавить другие фамилии или удалить одну фамилию, не затрагивая другие.Короче говоря, я хочу, чтобы мой код был похож (я не знаком с PL / SQL):
insert into table
(select last_name from example where id=1)
values lastn('new');
Это тот случай, когда я хочу получить людей, которые имеют первую фамилию 'bilel'и второй last_name как' dani '
select * from person where id in (select id from pernom p,table(p.last_name)
where column_value(1)='bilel' and column_value(2)='dani');
Я знаю, что это не так, но я хочу знать операторы CRUD ( create update delete ) в этом случае.и выберите оператор с varray в выражении where.
Спасибо за ваш ответ.