Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/02/2012, 12h01   #1
Invité de passage
 
Homme Benoît
Développeur informatique
Inscription : février 2006
Messages : 8
Détails du profil
Informations personnelles :
Nom : Homme Benoît
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : février 2006
Messages : 8
Points : 4
Points : 4
Envoyer un message via MSN à clavben
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.
clavben est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 12h07   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 030
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 11 030
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
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 de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2012, 12h13   #3
Membre éclairé
 
Avatar de hariman
 
Homme Luc Hariman RANDRIANOMENJANAHARY
Développeur Java
Inscription : janvier 2008
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Luc Hariman RANDRIANOMENJANAHARY
Localisation : Ile Maurice

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

Informations forums :
Inscription : janvier 2008
Messages : 175
Points : 349
Points : 349
Envoyer un message via MSN à hariman Envoyer un message via Skype™ à hariman
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;"
__________________
Les boutons et adorent être cliqués, donc ne les oubliez pas
hariman est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/02/2012, 13h44   #4
Invité de passage
 
Homme Benoît
Développeur informatique
Inscription : février 2006
Messages : 8
Détails du profil
Informations personnelles :
Nom : Homme Benoît
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : février 2006
Messages : 8
Points : 4
Points : 4
Envoyer un message via MSN à clavben
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.
clavben est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h13.


 
 
 
 
Partenaires

Hébergement Web