1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| create table tab_a
(
id_a number(1) not null,
nom varchar2(1 char),
prenom varchar2(1 char),
constraint pk_tab_a
primary key (id_a)
);
-- Table created.
create table tab_b
(
id_b number(1) not null,
id_a number(1) not null,
constraint pk_tab_b
primary key (id_b) ,
constraint fk_tab_b_a
foreign key (id_a)
references tab_a (id_a)
);
-- Table created.
create or replace view nom_vue
as
select a.id_a, b.id_b, a.nom, a.prenom
from tab_a a
inner join tab_b b
on b.id_a = a.id_a;
-- View created.
create sequence id_seq
start with 1
minvalue 1
nocycle
nocache
noorder;
-- Sequence created.
create or replace trigger nom_tgr
instead of insert on nom_vue
begin
insert into tab_a (id_a, nom, prenom) values (id_seq.nextval, :new.nom, :new.prenom);
insert into tab_b (id_b, id_a) values (:new.id_b, id_seq.currval);
end nom_tgr ;
-- Trigger created. |
Partager