Update de plusieurs valeurs d'une table - SQL/NoSQL - Programmation
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 ..
Marsh Posté le 20-08-2008 à 10:22:58
ReplyMarsh Posté le 25-08-2008 à 15:00:51
ReplyMarsh 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
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. |
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
Marsh Posté le 19-08-2008 à 15:40:11
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 ?
---------------
[RECH] CDI Dev C++/TCL ou BDD PHP/MySQL dans Paris