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

Fermé
Linda_01 Messages postés 2 Date d'inscription vendredi 16 novembre 2012 Statut Membre Dernière intervention 16 novembre 2012 - 16 nov. 2012 à 13:47
Linda_01 Messages postés 2 Date d'inscription vendredi 16 novembre 2012 Statut Membre Dernière intervention 16 novembre 2012 - 16 nov. 2012 à 15:32
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 Date d'inscription vendredi 16 novembre 2012 Statut Membre Dernière intervention 16 novembre 2012
16 nov. 2012 à 15:32
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