Alimenter une table de correspondance avec PK autoincrémentés

Linda_01 Messages postés 2 Statut Membre -  
Linda_01 Messages postés 2 Statut Membre -
Bonjour tous,

Je passe souvent sur le site et aujourd'hui j'ai une question a soumettre:

Voilà, j'ai 2 tables sources :
S1 (PK1, PERSONNE, AA)
S2 (PK2, FK1, VOITURE, AB) FK1=FK(S1.PK1)

Et 3 tables de destination que je souhaite alimenter:
D1 (autoincrémental_PK1, PERSONNE, AA)
D2 (autoincrémental_PK2, VOITURE, AB)
D3 (ID_1, ID_2) ID_1=FK(D1.autoincrémental_PK1) et ID_2=FK(D2.autoincrémental_PK2)

Ces PK autoincrémentées m'ennuie, je sais pas si pour alimenter D3 je dois passer par la séquence, ou si je dois utiliser la clause RETURNING
qui ferait par exemple alimentation de D1 :
Insert from S1 returning autoincrémental_PK1 into D3.ID_1.

Quel approcher auriez-vous ?

Amicalement,
Linda.
A voir également:

1 réponse

Linda_01 Messages postés 2 Statut Membre
 
Je suis sur cette piste:

INSERT ALL
INTO /*+ append */ D1
(PERSONNE,AA)
VALUES(PERSONNE,AA)

INTO /*+ append */ D2
(VOITURE,AB)
VALUES(VOITURE,AB)

RETURNING
(autoincrémental_PK1
,autoincrémental_PK2)
INTO /*+ append */ D3
(ID_1, ID_2)

from
(
select
S1.PERSONNE
,S1.AA
,S2.VOITURE
,S2.AB
from S1
JOIN S2 ON S1.PK1=S2.FK1
);


=> Des avis?
0