IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

[D7][BDE]Concaténation de plusieurs tables


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 118
    Points : 89
    Points
    89
    Par défaut [D7][BDE]Concaténation de plusieurs tables
    BONJOUR
    j'ai une application qui contient plusieurs tables d'archive ar1.dbf,ar2.dbf...ar12.dbf(fichiers .dbf) chacune contient des operations du mois .
    je veut concaténer ces tables dans un seule table afin d'effectuer des requetes sur ce dernier.

    j pensé a utiliser une boucle et le composant batchmove afin d'appender a chaque itération une table.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for i:=1 to 12 do
    begin
    btc.source:='ar'+i+'.dbf';
    ...
    end;
    mais malheuresement ,il est tres lent

    existe-t-il une autre méthode plus performante ?

    MERCI D'AVANCE

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Le temps de transfert dépendra surtout de la taille de tes tables (plus elles seront grosses plus ca mettra de temps).

    Sinon tu peux essayer avec une requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Close;
    SQL.Clear;
    SQL.Add('Insert into ' + TableNameDestination + ' IN ''' + RepertoireEtNomFichier + '''');
    SQL.Add('Select * from ' + TableNameSource);
    ExecSQL;

  3. #3
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    je pense qu'il est possible de faire une requête qui va jumeler toutes les tables sans créer une table temporaires si elle sont de meme structure biensure

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 118
    Points : 89
    Points
    89
    Par défaut
    merci pour vous réponses

    En réalité les tables contient l'historique des opérations effectué sur un compte client pour chaque mois. les valeurs seront différent mais pas la structure des tables.
    donc si je veut récupérer par exemple tous les opérations d'un client depuis la création du compte(parcourir en plus du mois courant ,tous les mois archivées)
    je voit pas comment faire une requête qui va jumeler toutes les tables sans créer une table temporaires?

    je pense que la solution sql de Malatar est tres bonne !
    je vais essayer

    merci

  5. #5
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    essai sa



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT * FROM TABLE1
    UNION
    SELECT * FROM TABLE2
    .
    .
    .

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/09/2013, 10h07
  2. [DATA] Concaténation de plusieurs tables suivie d'un test : résultat bizarre
    Par JeromeMATHIAS dans le forum SAS Base
    Réponses: 9
    Dernier message: 27/02/2012, 11h22
  3. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26
  4. Une seule table VS plusieurs tables
    Par LostControl dans le forum Requêtes
    Réponses: 1
    Dernier message: 11/08/2003, 10h56
  5. [SQL] Sélection ds plusieurs table
    Par lord_paco dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/07/2003, 17h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo