Salve a tutti.
Uso MySQL e ho la necessità di eseguire degli UPDATE "a cascata".
Mi spiego meglio. Ho una tabella con i seguenti attributi:
ID1 ... ID2 ... FLAG
Vorrei che, dato un valore per ID2, si aggiornassero tutte le tuple in cui tale valore compare nella colonna ID1 e, a cascata, recuperando i corrispondenti valori ID2 di queste tuple, si aggiornassero le tuple in cui questi valori sono anche per ID1, e così via. Spero col seguente esempio di essere più chiaro.
--------------------------
ID1 ID2 FLAG
---------------------------
100 200 1
200 300 1
200 400 1
300 500 1
400 600 1
700 800 0
800 900 1
Partendo da ID2=200:
1° step: 200 compare in due tuple come ID1, quindi le aggiorno.
2° step: Recupero i valori 300 e 400 da queste tuple aggiornate e controllo dove compaiono come ID1, aggiornando.
RISULTATO
--------------------------
ID1 ID2 FLAG
---------------------------
100 200 0
200 300 0
200 400 0
300 500 0
400 600 0
700 800 0
800 900 1
La domanda è: devo gestire necessariamente il tutto (da codice) salvando gli ID in un vettore fino a che il vettore non è vuoto o esiste un modo veloce, tramite STATEMENT SQL, per ottenere il risultato desiderato?
Grazie!

Rispondi quotando
