Bonjour
Je suis toujours dans mon transfert de données Firebird.
Mon export est bon et mon import se termine. Enfin ..... presque
J'ai 6 tables source et donc 6 tables destination à mettre à jour.
Par mettre à jour, j'entends sélectionner certains éléments d'une table source pour remplacer certaines lignes existantes (donc un upadte).
Je m'explique pour une seule table mais le principe sera identique pour chacune.
La table receveuse possède par exemple 50 lignes pour une entité (disons un client pour faire simple).
La table donneuse possède aussi 50 lignes pour le même client mais seul les 10 premières sont à utiliser (ou les 10 suivantes, etc)
Solution basique: J'ouvre la table donneuse avec un TFDQuery pour n'avoir que les lignes concernées et je boucle sur l'ensemble pour mettre les valeurs à la ligne correspondante dans la receveuse. Rien de plus classique.
Solution imaginée mais jamais testée: Une seule requête update :
update table receveuse inner join donneuse on ...
Mais ce genre de requête sur deux bases différentes, pas possible.
Ou alors, Est-ce que le TLocalSQL pourrait m'aider dans ce cas?
A votre avis ? Ou quelqu'un aurait déjà fait ça ?
Je ne demande pas le codage , juste savoir si c'est possible plutôt que d'y passer des heures pour arriver à un échec et repasser à la solution plus longue mais plus simple.
Partager