[MySQL] Ne pas dépasser une valeur lors d'une update

Ne pas dépasser une valeur lors d'une update [MySQL] - SQL/NoSQL - Programmation

Marsh Posté le 16-08-2004 à 14:20:20    

bonjour je voudrais lors d'un update de table ne pas dépasser la valeur 100 pour une certaine colonne:

Code :
  1. update joueurs set score= score + 50


 
que dois-je rajouter pour etre sûr de ne pas dépasser 100 en score, à part refaire un update ensuite genre:

Code :
  1. update joueurs set score=100 where score > 100

Reply

Marsh Posté le 16-08-2004 à 14:20:20   

Reply

Marsh Posté le 16-08-2004 à 14:46:03    

cherche les fonctions de test. avec oracle c'est "decode()" et avec access/mssql c'est "iif()". ça te permettra de tester si "score = (si score + 50 > 100 alors 100 sinon score + 50)"

Reply

Marsh Posté le 16-08-2004 à 14:57:04    

ok je vais chercher çà alors

Reply

Marsh Posté le 16-08-2004 à 15:04:02    

ok j'ai trouvé, pour eux que çà intéresse:

Code :
  1. update joueurs set score = case when ( score + 50 > 100 ) then 100 else ( score + 50 ) end

Reply

Marsh Posté le 16-08-2004 à 16:45:13    

bah c'est la même syntaxe que Access/MSSQL (le case c'est quand y'a plusieurs "si", comme un switch en C)


Message édité par Arjuna le 16-08-2004 à 16:45:21
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed