Update case when sans else
Bonjour à tous;
J'ai une table de prix table_prix dont je voudrais mettre a jour seulement certain prix.
Actuellement la requête ets la suivante
Code:
1 2 3 4 5 6 7 8
|
Update table_prix
set prix = prix +
case
when produit_id = 2150 then 1 //on augmente le prix du produit 2150 de 1 euros
when produit_id = 1236 then 2 // on augmente le prix du produit 1236 de 2 euros
else 0
end |
Le souci du else 0 c'est qu'il effectue l'opération +0 sur toute la table et cela rallonge l'update.
Cette requête doit pouvoir être utilisée sur une dizaine de produit d'un coup parfois.
Y'a-t-il moyen de faire différemment sans devoir spécifier else 0 (si je ne met pas else 0, j'ai une erreur). ET sinon serait-il alors carrement mieux au niveau vitesse d'exécution de lancer N update du type
Code:
1 2 3
| Update table_prix
set prix = prix + X
where produit_id = Y |
ou bien de lancer des groupes
Code:
1 2 3
| update table_prix
set prix = prix +X
where produit_id in (Y1, Y2, Y3....) |
Merci pour votre aide.