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

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    avril 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 110
    Points : 68
    Points
    68
    Par défaut Prendre des données d'1 table pour les reinserer dans une autre ayant la meme struct
    Bonjour,

    Je suis nouveau au sein de cette communauté et je profite de ce premier thread pour saluer tous les membres et acteurs developpez.com.

    Tout d abord je suis très peu agueri en Sql, mon but est de récuperer n enregistrements d'une table(defini par des conditions enfin peu importe), puis de les réinserer dans une autre table ayant exactement la meme structure.
    Vous vous en doutez, ce processus me servirait à desengorger une table, et à creer des tables d'archives tous les ans(par exemple).

    Je vois bien un moyen lourd et plus que tres peu optimisé de faire ceci :
    1 : Je recupere mes lignes dans ma table a desengorger dans un tableau
    2 : Je fourni ces donnees a ma 'table de stockage'
    3 : si les deux premieres requetes ont ete effectuees avec succes, je supprime les lignes que j ai commencé par selectionner en 1:

    Ca me parait tres lourd , surtout en cas de beaucoup de données, n'y a t-il pas un moyen d'operer plus efficace et optimisé?

    Je remercie par avance les personnes qui sacrifieront un peu de leur temps pour m'aider a resoudre ce problemes ( et ne condamne en rien ceux qui ne le feront pas d'ailleurs )

    ++

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    août 2002
    Messages
    1 059
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2002
    Messages : 1 059
    Points : 1 330
    Points
    1 330
    Par défaut
    Bonjour,

    Pour les points 1 et 2, tu trouveras ton bonheur là :
    http://dev.mysql.com/doc/refman/5.0/...rt-select.html

  3. #3
    Membre averti Avatar de Space Cowboy
    Profil pro
    Inscrit en
    avril 2005
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2005
    Messages : 496
    Points : 368
    Points
    368
    Par défaut
    C'est la plus lourd, mais aussi la plus sur.

    Tu récupère les tables, puis dans un while, tu les parcours en les insérant une a une.
    Si l'insertion réussi, tu supprime l'entrée dans la table source.

    En cas de problème tu ne perd rien ! Et si tu a beaucoup de donnée, tu peut faire ca en plusieurs fois.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    avril 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 110
    Points : 68
    Points
    68
    Par défaut
    Merci a vous, la requete INSERT SELECT couplé a une verification de son succes avant la suppression est exactement ce que je cherchais.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 62
    Dernier message: 16/04/2009, 10h09
  2. Réponses: 0
    Dernier message: 10/08/2008, 19h05
  3. Réponses: 4
    Dernier message: 22/05/2007, 14h42
  4. Réponses: 1
    Dernier message: 31/01/2007, 11h59
  5. Réponses: 3
    Dernier message: 23/04/2006, 12h14

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