Update de plusieurs valeurs d'une table

Update de plusieurs valeurs d'une table - SQL/NoSQL - Programmation

Marsh Posté le 19-08-2008 à 15:40:11    

:hello:
 
Je bosse actuellement en TCL et je modifie des tables SQL via du code.  
 
Bref, j'utilise des fonctions SQL telles que update pour mettre à jour certaines valeurs. Cela dit, cela m'oblige à écrire à chaque fois :
 
UPDATE ma_table
        SET variableb = 'X' WHEN variablea = 'Alpha'
 
UPDATE ma_table
        SET variableC = 'Y' WHEN variablea = 'Beta'
 
Syntaxiquement, est-ce qu'il est possible de mettre à jour plusieurs valeurs d'une table sans avoir à retaper "UDPDATE ma_table" au début ? :d
 


---------------
[RECH] CDI Dev C++/TCL ou BDD PHP/MySQL dans Paris
Reply

Marsh Posté le 19-08-2008 à 15:40:11   

Reply

Marsh Posté le 19-08-2008 à 16:22:27    

Uniquement si ta condition (qui normalement est un WHERE, je ne connais pas ce WHEN :??:) est la même pour les champs que tu mets à jour.
 
Si tu as des différentes conditions, je pense que tu dois à chaque fois faire une requête d'update différent car tu ne touches pas au même recordset ..

Reply

Marsh Posté le 20-08-2008 à 10:22:58    

Reply

Marsh Posté le 25-08-2008 à 15:00:51    

update ma_table set champ1 = val1, champ2 = val2, ... where macondition = vraie

Reply

Marsh Posté le 25-08-2008 à 15:03:12    

tu peux aussi, si alpha, beta, etc. viennent d'une autre requête, faire un update à partir d'un select, mais la syntaxe n'est pas toujours uniformisée d'un SGBD à l'autre :
 
update ma_table set mon_champ = t.mon_autrechamp
from mon_autre_table t
where t.code = code
 
(de tête cette fonction marche sous oracle ou mssql, je sais plus)
 
tu peux passer par une sous-requête si besoin mais c'est un peu plus le bordel. réfère-toi à la documentation de ton sgbd

Reply

Marsh Posté le 26-08-2008 à 18:00:10    

MagicBuzz a écrit :

update ma_table set champ1 = val1, champ2 = val2, ... where macondition = vraie


 

ZeBix a écrit :

Uniquement si ta condition (...) est la même pour les champs que tu mets à jour.


 
 :sweat:  
 

Reply

Marsh Posté le 27-08-2008 à 01:42:55    

ben oui je dis la même chose, toi tu donnes le principe, et moi la syntaxe :o

Reply

Sujets relatifs:

Leave a Replay

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