|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() |
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. |
|
|
00
|
|
|
#2 |
![]() ![]() |
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 ! |
|
00
|
|
|
#3 |
|
Membre éclairé
![]() |
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
|
|
|
10
|
|
|
#4 |
|
Invité de passage
![]() |
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.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com