Bonjour à tous,
J'aimerais savoir si quelqu'un a une solution pour ce problème fort probablement simple pour les experts. Dans mon cas, je sèche...
Voici, je dois faire une copie partielle (quelques colonnes, plusieurs lignes) de plusieurs tables d'une bd à une autre table d'une autre bd.
Le problème est le suivant, dans certains cas, j'ai une table avec des clefs référencés d'une autre table. Après la copie, les clefs référencés ne sont plus valide car l'identifiant de la table de référence n'est plus le même après la copie.
ex: bd1.TableA copie de colonne (Nom,Truc) dans bd2.TableA
bd1.TableB copie de colonne (IDLigneTableA,Machin) dans bd2.TableB
Dans la bd2.TAbleB, la colonne IDLigneTableA n'est plus valide car celui-ci à changé lors de la copie de la tableA.
Il faudrait donc altérer la ligne IDLigneTAbleA en fonction du changement de clef primaire entre bd1.TableA et bd2.TAbleA. Donc, pour une ligne, c'est simple:
alter table bd2.TableB(IDLigneTableA) values (bd2.TableA.IDligne1) where IDLigneTableA = bd1.TableA.IDligne1
mais comment faire pour l'ensemble des lignes des tablesA (10000)?
Merci à l'avance.
Partager