Ensuite si on a par exemple une table de produits qui a comme clé étrangère l'identifiant de la catégorie à laquelle il appartient, il faut faire la jointure sur le libellé pour affecter le nouvel identifiant de catégorie.
Une requête de sélection pour vérifier :
1 2 3 4 5 6 7
| SELECT p.prd_id, p.prd_nom,
c1.cat_nom AS ancienne categorie,
c2.cat_nom AS nouvelle_categorie,
c2.cat_id
FROM b.produit p
INNER JOIN b.categorie c1 ON c1.cat_id = p.prd_id_categorie
INNER JOIN a.categorie c2 ON c2.cat_nom = c1.cat_nom |
Et il suffit de la transformer un peu et de l'utiliser dans une requête d'insertion des nouveaux produits, sur le même principe que précédemment en cherchant l'ensemble de colonnes de la table source, hors identifiant, qui peuvent distinguer de manière unique une ligne de la table, autrement dit trouver une clé alternative à la clé primaire de la table.
Partager