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

Langage SQL Discussion :

Fusionner deux tables


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Fusionner deux tables
    J'ai deux tables de memes schemas (meme noms et type de champs) (T1 et T2), chaque tables contient plusieurs million d'enregistrements.

    Y'a t'il une requette SQL rapide que fait la fusion entres les deux tables pour avoir un seul table (ie: T1 fusion T2 ==> T1) ou (donnees de T1 fusion donnees de T2 ==> donnees de T1 et donnees de T2 dans la table T1).

    LA BASE DE DONNEES : ORACLE 10g.
    SYSTEM OS : FEDORA 3.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 85
    Points : 59
    Points
    59
    Par défaut
    salut !
    en SQL classqiue je ferais

    INSERT INTO T1
    select * from T2

    ça va faire basculer tous les enregistrements de T2 dans T1 ...

    si les champs sont similaires comme tu le dis

  3. #3
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 131
    Points : 158
    Points
    158
    Par défaut
    bonjour
    je crois qu'il faut plutot utiliser une requete d'union

    select * from T1
    UNION ALL
    select * from T2

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2005
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Salut,

    Pour la commande UNION ou UNION ALL, visualise les enregistrements , et elle n'insert pas dans la table T1.

    Pour la requette de SQL classique de type INSERT, va prendre beaucoup de temps (J'ai environ 20 milliions records dans chaque table). Je cherche s'il y a une technique avanceé de merger les deux tables.

    ps: la table T1 utilise tablespace TBS1 (datafile1,..).
    et la table T2 utilise tablespace TBS2 (datafile2,...).

    Merci.

  5. #5
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Tu as vraiment besoins d'avoir les données dans une table ?

    Tu ne pourrais pas utiliser une vue qui soit l'union des deux tables ?


    Laly.

  6. #6
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Sous ORACLE 10g tu as la commande MERGE, qui correspond exactement à ce que tu veux, me semble-t-il.

Discussions similaires

  1. fusionner deux tables
    Par Didine1801 dans le forum Toad
    Réponses: 1
    Dernier message: 24/10/2007, 11h47
  2. Réponses: 5
    Dernier message: 15/10/2007, 15h49
  3. Fusionner deux tables
    Par benoit13 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 26/07/2007, 08h41
  4. fusionner deux tables ?
    Par clov dans le forum Modélisation
    Réponses: 4
    Dernier message: 18/07/2007, 19h24
  5. Fusionner deux tables access
    Par lifemaker2025 dans le forum Access
    Réponses: 4
    Dernier message: 20/02/2007, 15h44

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