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 05/05/2011, 15h20   #1
Invité de passage
 
Inscription : septembre 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 7
Points : 0
Points : 0
Par défaut Update avec valeur texte

Bonjour,
je dois updater une colonne qui contient une valeur en fonction de son rang.
Je m'explique : (j'essaie)
chaine : 'carotte','chou','oignon','artichaut','poireau'
si la colonne a la valeur 1 alors nouvelle valeur = 'carotte'
si la colonne a la valeur 2 alors nouvelle valeur = 'chou'
etc...

D'avance merci
tartiflette59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 15h42   #2
Membre Expert
 
Inscription : janvier 2010
Messages : 1 084
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2010
Messages : 1 084
Points : 1 573
Points : 1 573
Bonjour

Pouvez vous préciser la structure de votre table, notamment le type de la colonne visée par la mise a jour

Pouvez vous également préciser la provenance de la liste...
N'avez vous pas une table qui recense cet ordre ? :
Citation:
1 --- carotte
2 --- chou
...
aieeeuuuuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 15h44   #3
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
utiliser case :
http://msdn.microsoft.com/en-us/library/ms181765.aspx
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 15h47   #4
Invité de passage
 
Inscription : septembre 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 7
Points : 0
Points : 0
La colonne à modifier est un varchar(50)
Les valeurs à 'chou', 'carottes', etc sont dans une chaine texte et pas dans une table...
j'aimerais pouvoir intégrer cette chaine dans la requête. Peut-on mettre des valeur indicées du type :
Legume[1] = 'Carotte'
Legume[2] = 'Chou'
tartiflette59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 16h12   #5
Invité de passage
 
Inscription : septembre 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 7
Points : 0
Points : 0
Merci 7gyY9w1ZY6ySRgPeaefZ
ça fonctionne avec CASE

Par contre je serais quand même intéressé de voir si il y a une solution avec les chaines indicées....
tartiflette59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 17h15   #6
Membre Expert
 
Inscription : janvier 2010
Messages : 1 084
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2010
Messages : 1 084
Points : 1 573
Points : 1 573
vous aussi pouvez faire comme ceci

Code SQL :
1
2
3
4
5
6
7
8
9
 
UPDATE MATable
SET MaColonne = Legume
FROM (
    VALUES 
    (1, 'carotte'),
    (2,'chou')
)L(ind, legume)
WHERE L.ind = MaTable.MaColonne
aieeeuuuuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 17h19   #7
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
Citation:
Envoyé par tartiflette59 Voir le message
Les valeurs à 'chou', 'carottes', etc sont dans une chaine texte et pas dans une table...
Très mauvaise façon de procéder, vous vous en rendez compte d'ailleurs.
Modifier ça de suite si c'est encore possible.
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h07.


 
 
 
 
Partenaires

Hébergement Web