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

Développement SQL Server Discussion :

Update de table à partir d'un fichier csv


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Par défaut Update de table à partir d'un fichier csv
    Bonjour à tous,

    je dois mettre çà jour des valeurs dans une colonne de table (SQL server) à partir d'un fichier externe (format csv).
    Dans ce fichier, j'aurai 2 valeurs par lignes : oldValue;newValue.
    Le but est bien évidemment de remplacer l'ancienne valeur présente dans la table par la nouvelle.

    Est-ce possible en requête SQL style UPDATE ?
    Quelles sont les fonctions que je peux utiliser pour charger le fichier dans des variables, et boucler sur ces dernières ?

    Merci de votre aide.

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Je ne connais pas SQL Server mais je préconiserais d'importer le fichier CSV dans une nouvelle table puis de faire la mise à jour à partir de cette table avec une requête UPDATE et enfin supprimer la table d'import.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre chevronné Avatar de hariman
    Homme Profil pro
    Développeur Java, Android
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Développeur Java, Android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Par défaut
    Bonjour,

    - Avec un script PHP, ce serait facile. La fonction fgetcsv() retourne, à partir du pointeur d'un fichier ouvert, un tableau à 2 dimensions qui sera utilisé ensuite dans la requête UPDATE.

    - Sinon, tu peux aussi transformer ton fichier csv en script sql, en transformant toutes les lignes (grâce à un macro en notepad++):
    "oldValue;newValue" en "UPDATE ma_table SET mon_champ = newValue WHERE mon_champ = oldValue;"

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 8
    Par défaut
    Ce n'est pas tout à fait ce que j'avais en tête, j'étais parti dans l'idée de faire un script SQL, mais je pense que finalement, cette solution va être beaucoup plus rapide à mettre en œuvre.

    Merci pour l'astuce.

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

Discussions similaires

  1. Charger une table à partir d'un fichier .CSV
    Par Djene dans le forum ODI (ex-Sunopsis)
    Réponses: 0
    Dernier message: 27/02/2014, 17h46
  2. [MySQL] Remplissage d'une table d'une base de données à partir d'un fichier CSV
    Par bourbita.thameur dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 24/03/2009, 14h13
  3. Réponses: 2
    Dernier message: 19/03/2008, 14h51
  4. Réponses: 0
    Dernier message: 07/02/2008, 16h09
  5. création de tables à partir d'un fichier XML
    Par magic charly dans le forum Oracle
    Réponses: 2
    Dernier message: 03/04/2006, 13h39

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