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

PostgreSQL Discussion :

Mise à jour d'une table avec un fichier csv


Sujet :

PostgreSQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Mise à jour d'une table avec un fichier csv
    Salut.

    J'aimerais savoir comment mettre une table à jour à l'aide d'un fivhier csv.

    En fait, ce n'est pas la table entière que j'aimerais mettre à jour mais juste un champ relatif à une clef primaire.
    En gros, faire un
    UPDATE MATABLE SET monchamp = champ1 WHERE macle = 'champ2'

    On m'a dit d'utiliser la fonction copy mais je vois pas trop comment l'utiliser pour une mise à jour.

    Merci de votre aide.

  2. #2
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Points : 318
    Points
    318
    Par défaut
    Salut,

    Le seul moyen est d'importer tes données dans une table tampon et ensuite de faire ton update.

    La fonction COPY importe/exporte des données en brutes vers/à partir d'un fichier.

    @+

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Oki mais ...
    Oki merci mais je ne suis pas certain de mon update.
    Est-ce que celà convient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    copy matable_temp from '/mon/rep/csv/monfichier.csv' using delimiters ';'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Select 'Update matable SET monchampu = ''' || monchamps ||
    ''' WHERE cle1 = ''' || cles1 || ''' AND cle2 = ''' ||
    cle2|| ''' AND cle3 = ''' || cles3 || ''';' FROM
    matable_temp;
    Voilà, je suis pas trop sur, et j'ai pas envie de faire de bétise

    Merci de me dire si j'ai bon

  4. #4
    Membre averti
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Points : 318
    Points
    318
    Par défaut
    Juste une question : pourquoi faire un update enveloppé dans un select, et non pas directement un update ?

    Sinon, à part ça, je te conseille de tester les conditions de ton where avec une requête SELECT pour être sûr que cela concerne les bons enregistrements.

    @+

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    salut,

    dis moi, tu pourrais me montrer le script que t'as fait pr exporter ds une base tes données à partir d'un fichier csv ou du moins bien m'orienter

    parce que j'essaye de puis quelques tps et je m'en sors pas du tout

    d'avance, merci

    @+

Discussions similaires

  1. Mise à jour d'une table avec une autre
    Par Pithonnette dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 27/11/2008, 18h11
  2. Réponses: 5
    Dernier message: 08/04/2008, 09h54
  3. Mise à jour d'une table avec une autre
    Par julie75 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 12/10/2007, 18h54
  4. Mise à jour d'une table avec une autre
    Par Oilcout dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 04/10/2007, 13h02
  5. Mise à jour d'une table avec une autre
    Par Lucien dans le forum SQL
    Réponses: 2
    Dernier message: 20/04/2006, 10h46

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