Copie rapide d'une table vers une autre
Publié : mer. 25/mai/2011 18:45
Bonjour à tous
J'ai deux tables Table1 et Table2 appartenant respectivement à deux bases de données dfférentes
MaBase1.sqlite et MaBase2.sqlite
Mon but est de copier intégralement et RAPIDEMENT les données de la table1 vers la table2, (les 2 tables ont la même structure). Copier enregistrement par enregistrement (séquentiellement) est une solution qui marche bien (je l'ai essayée) mais ça prend beaucoup de temps. La Table1 contient 1640 enregistrements. Existe t il une solution plus rapide qui ressemble un peu à Copier-coller?
Merci de votre aide
Voici mon code qui marche très bien mais trop lent...
J'ai essayé aussi la méthode directe mais il y a un conflit car il s'agit de deux bases différentes...
Merci
J'ai deux tables Table1 et Table2 appartenant respectivement à deux bases de données dfférentes
MaBase1.sqlite et MaBase2.sqlite
Mon but est de copier intégralement et RAPIDEMENT les données de la table1 vers la table2, (les 2 tables ont la même structure). Copier enregistrement par enregistrement (séquentiellement) est une solution qui marche bien (je l'ai essayée) mais ça prend beaucoup de temps. La Table1 contient 1640 enregistrements. Existe t il une solution plus rapide qui ressemble un peu à Copier-coller?
Merci de votre aide
Voici mon code qui marche très bien mais trop lent...
Code : Tout sélectionner
Procedure Copier_Table()
Wsql="Select * From Table1"
CheckDataBaseQuery(Db1,Wsql)
While NextDataBaseRow(Db1)
Nom$=GetDataBaseString((Db1,1)
Adr$=GetDataBaseString((Db1,2)
Tel$=GetDataBaseString((Db1,3)
wSql="INSERT INTO Table2 (Col1,Col2,Col3) Values ("
wSql+Chr(34) + Nom$ + Chr(34) + ","
wSql+Chr(34) + Tel$ + Chr(34) + ","
wSql+Chr(34) + Adr$ + Chr(34) + ")"
CheckDataBaseUpdate(Db2,Wsql)
Wend
Debug " Transfert terminé ! "
EndProcedure
Code : Tout sélectionner
Procedure CopieDirecte()
wSql="INSERT INTO Table2 Select * FROM Table1"
CheckDataBaseUpdate(Db2,Wsql) ; ici je ne sais plus s'il faut mettre Db1 ou Db2
; De toute façon, dans les 2 cas ça marche pas
EndProcedure