Re: SQL: incrementare valore

2017-05-04 Per discussione Federico Di Gregorio
On 30/04/17 08:41, Paolo Redaelli wrote: Il 29/04/2017 22:49, Alessandro Pellizzari ha scritto: On 29/04/17 14:10, Giuliano Curti wrote: UPDATE mee SET r_co = (SELECT max(r_co) FROM mee) + r_to - r_fr WHERE r_id = la funzione UPDATE itera su tutti i record, la funzione SELECT nidificata, che

Re: SQL: incrementare valore

2017-04-30 Per discussione Leonardo Boselli
Informazione aggiuntiva: si lavora sempre su una sola riga, anche perché r_to è sempre >= r_fr, quindi dopo ogni aggiornamento max(r_co) di solito cambia. (dico di solito perché in casi molto particolari r_fr e r_to potrebbero essere uguali). se per caso dovessi aggiornare più di una riga la

Re: SQL: incrementare valore

2017-04-30 Per discussione Paolo Redaelli
Il 29/04/2017 22:49, Alessandro Pellizzari ha scritto: > On 29/04/17 14:10, Giuliano Curti wrote: > >>> UPDATE mee SET r_co = (SELECT max(r_co) FROM mee) + r_to - r_fr WHERE >>> r_id = >> la funzione UPDATE itera su tutti i record, la funzione SELECT >> nidificata, che anch'essa itera su tutti i

Re: SQL: incrementare valore

2017-04-29 Per discussione Giuliano Curti
On 4/29/17, Federico Di Gregorio wrote: > ... On 4/29/17, Alessandro Pellizzari wrote: > On 29/04/17 14:10, Giuliano Curti wrote: > Federico e Alessandro, grazie; ciao, giuliano

Re: SQL: incrementare valore

2017-04-29 Per discussione Alessandro Pellizzari
On 29/04/17 14:10, Giuliano Curti wrote: >> UPDATE mee SET r_co = (SELECT max(r_co) FROM mee) + r_to - r_fr WHERE >> r_id = > la funzione UPDATE itera su tutti i record, la funzione SELECT > nidificata, che anch'essa itera su tutti i record, non risulta > penalizzante? si avrebbe un algoritmo di

Re: SQL: incrementare valore

2017-04-29 Per discussione Federico Di Gregorio
Il motore del database e in grado di capire quando una subquery non dipende dalla riga dell'update ed eseguirla una volta sola anche in casi molto ma molto più complessi di questo. Ovviamente puoi cercare di sostituirti all'ottimizzatore scrivendo delle stored procedure ogni volta che la query

Re: SQL: incrementare valore

2017-04-29 Per discussione Giuliano Curti
On 4/29/17, Federico Di Gregorio wrote: > Puoi fare: > > UPDATE mee SET r_co = (SELECT max(r_co) FROM mee) + r_to - r_fr WHERE r_id = > ... domanda x capire, non per obiettare :-) la funzione UPDATE itera su tutti i record, la funzione SELECT nidificata, che anch'essa itera su

Re: SQL: incrementare valore

2017-04-29 Per discussione Gian Uberto Lauri
On 29/04/2017 10:17, Federico Di Gregorio wrote: Puoi fare: UPDATE mee SET r_co = (SELECT max(r_co) FROM mee) + r_to - r_fr WHERE r_id = ... Questa soluzione è sicuramente corretta solo se l'update va fatta su una singola riga. Se invece si devono aggiornare in blocco N righe (i.e. 'where

Re: SQL: incrementare valore

2017-04-29 Per discussione Federico Di Gregorio
Puoi fare: UPDATE mee SET r_co = (SELECT max(r_co) FROM mee) + r_to - r_fr WHERE r_id = ... Ciao, Federico Il 28 aprile 2017 20:53:07 CEST, Leonardo Boselli ha scritto: >Un po'ot ma chiedere non costa nulla: >ho un file SQL che contiene la tabella 'mee' con le colonne

Re: SQL: incrementare valore

2017-04-29 Per discussione Federico Di Gregorio
Aveva chiesto una soluzione elegante! :) federico Il 28 aprile 2017 21:10:53 CEST, Gian Uberto Lauri ha scritto: >Store procedure > >Sent from my smartphone > >> On 28 Apr 2017, at 20:53, Leonardo Boselli >wrote: >> >> Un po'ot ma chiedere non costa nulla:

Re: SQL: incrementare valore

2017-04-28 Per discussione Gian Uberto Lauri
Store procedure Sent from my smartphone > On 28 Apr 2017, at 20:53, Leonardo Boselli wrote: > > Un po'ot ma chiedere non costa nulla: > ho un file SQL che contiene la tabella 'mee' con le colonne r_id r_fr r_to e > r_co dove r_id è un intero(5) e r_co un decimale(8,2) >

SQL: incrementare valore

2017-04-28 Per discussione Leonardo Boselli
Un po'ot ma chiedere non costa nulla: ho un file SQL che contiene la tabella 'mee' con le colonne r_id r_fr r_to e r_co dove r_id è un intero(5) e r_co un decimale(8,2) esiste un comando che mi faccia: UPDATE mee SET r_co= *non_lo_so* WHERE r_id = *qualcosa*; *qualcosa* è l'id unico del