Visualizzazione dei risultati da 1 a 3 su 3

Discussione: UPDATE a cascata

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    22

    UPDATE a cascata

    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!

  2. #2
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Secondo me lo puoi fare solamente con STATEMENT SQL&nbsp; senza nessuna cascata.<br><br>tu devi fare:<br><br>UPDATE Tabella&nbsp;---- SET FLAG = 0&nbsp;----- WHERE<br>ID1 = 200<br>ID2 = 200<br>ID1&nbsp;IN (SELECT ID2 FROM Tabella WHERE ID1 = 200)<br><br><br>ma con MySql hai ancora il problema della sottoquery,<br>quindi ci vuole un MySql-aro<br><br><br>.

  3. #3
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    ?????

    temo che qualcosa non ha funzionato, ha pubblicato il messaggio con fornattazione html ????
    ( che io non ho assolutamente fatto )

    e adesso non posso modificarlo

    .

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.