PDA

View Full Version : Query update multipli


Abdujaparov
20-04-2006, 18:38
Salve a tutti, volevo chiedervi una cosa.
Per aggiornare dei valori di una tabella io scrivo delle query separate, cioè per esempio per aggiornare la quantità di un prodotto scrivo due query update separate in questo modo:

UPDATE prodotti set qty=qty-2 where id=2;
UPDATE prodotti set qty=qty-7 where id=4;

Come potrei scrivere le stesse operazioni in un'unica query?
Grazie, ciao ciao.

0rph3n
20-04-2006, 19:11
ciao,
UPDATE prodotti set qty=qty-2 where id=2;
UPDATE prodotti set qty=qty-7 where id=4;
supponendo che la quantità derivi da un campo qty di una tabella che si chiama dettagli_ddt e che faccia riferimento ai dettagli del ddt di codice boh
UPDATE prodotti
SET prodotti.qty = prodotti.qty - (SELECT dettagli_ddt.qty
FROM dettagli_ddt
WHERE dettagli_ddt.codprodotto = prodotti.codprodotto AND dettagli_ddt.codddt = boh)
WHERE EXIST
(SELECT dettagli_ddt.qty
FROM dettagli_ddt
WHERE dettagli_ddt.codprodotto = prodotti.codprodotto AND dettagli_ddt.codddt = boh);
ovviamente questa query non è da provare in un presunto server di produzione perchè avendola scritta totalmente a caso potrebbe accadere di tutto :ciapet:
altrettanto ovviamente spero di esserti stato d'aiuto :D e di non aver scritto solamente cazzate :D

'iao

0rph3n
21-04-2006, 12:15
ah, tutto questo ambaradan, per il semplice motivo che non si possono fare update su record multipli che implichino l'aggiornamento con dati che non siano già presenti in altre tabelle!

'iao

fabianoda
21-04-2006, 12:23
Ciò che vorrei sapere, è perché tu voglia fare un'unica query.

Piuttosto fai in modo che le 2 query vengano eseguite in un'unica transazione, il che è molto più pulito.