Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
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 07/12/2010, 01h19   #1
Invité de passage
 
Inscription : décembre 2010
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 10
Points : 2
Points : 2
Par défaut Update avec Case

Bonjour, pourquoi cette requête ne fonctionne telle pas ?

Code :
1
2
3
4
5
UPDATE dbimpotd/t_mensu M                          
SET M.TM_STSMEN=CASE                               
WHEN (M.hid_adhes=9863 AND M.tm_stsmen=3) THEN 5   
WHEN (M.hid_adhes=9863 AND M.tm_nummen=11) THEN 7  
END
Valeurs indéfinies non admises dans la colonne ou la variable TM_STS
Je suis en V5R4, merci.
vad67 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 09h37   #2
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 637
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 637
Points : 2 629
Points : 2 629
bonjour,

Car surement aucune des deux conditions de votre case n'est effective, du coup il doit essayer de mettre une valeur NULL dans votre champ initiale.

Donc rajouter un ELSE avec la valeur qui vous convient, et ca devrait fonctionner, ou sinon rajouter une clause where à votre update pour que la requête ne prenne en compte que ces champs là.

Stil :
Code sql :
1
2
3
4
5
6
7
 
UPDATE dbimpotd/t_mensu M                          
SET M.TM_STSMEN=CASE                               
WHEN (M.hid_adhes=9863 AND M.tm_stsmen=3) THEN 5   
WHEN (M.hid_adhes=9863 AND M.tm_nummen=11) THEN 7  
END   
WHERE M.hid_adhes=9863 AND (M.tm_stsmen=3 OR M.tm_nummen=11)
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 21h26   #3
Invité de passage
 
Inscription : décembre 2010
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 10
Points : 2
Points : 2
Effectivement, cela fonctionne beaucoup mieux avec le where.
Merci !
vad67 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 19h10.


 
 
 
 
Partenaires

Hébergement Web