Confronto tra due tabelle uguali e aggiornamento campi

di alberigo67 il
4 risposte

Buongiorno a tutti.

Mi trovo nella situazione di avere nello stesso db due tabelle con gli stessi campi, quindi due tabelle identiche, incluso il campo univoco (chiave primaria).

Per facilità di intesta chiamerò una tabella tblSource e l'altra tblTarget. 

La tblTarget conterrà sempre un solo record i cui campi contengono gli stessi dati del corrispettivo record della tblSource.

Per tutta una serie di situazioni che non sto a spiegare per non dilungarmi troppo, può succedere che nella tblTarget uno o più campi possano venire modificati.

il mio proposito è quello di poter ripristinare i campi modificati del record della tblTarget con i precedenti dati aggiornando detto record con quello della tabella tblSource.

Io avevo pensato a una cosa del tipo: 

"UPDATE tblTarget AS T1  (SELECT * FROM tblSource WHERE tblTarget.Id = tblSource.Id ) AS T2 SET T1.col1 = T2.col_a, T1.col2 = T2.col_b, T1.col3 = T2.col_c"

ma preferirei non usare una soluzione di questo tipo perchè i campi sono parecchi.

Può comunque andare bene o c'è una strada migliore da seguire?

Grazie.

4 Risposte

  • Innanzitutto ti chiedo quale è la necessità di avere due tabelle uguali?

  • Non entro nei motivi che portano a questa esigenza... anche se sarebbero da capire.

    Se la Tabella Source ha i dati giusti e la tabella Target ha solo 1 record perchè complicarsi la vita.... cancella il record nella Target e copia tutto il record della Source... con Id richiesto a prescindere.

  • 05/01/2025 - @Alex ha scritto:

    cancella il record nella Target e copia tutto il record della Source... con Id richiesto a prescindere.

    In se per se la soluzione del problema è banale. Piuttosto, mi pare strana la finalità di copiare i dati da una tabella all'altra.

  • 05/01/2025 - Antony73 ha scritto:

    In se per se la soluzione del problema è banale. Piuttosto, mi pare strana la finalità di copiare i dati da una tabella all'altra.

    Pur condividendo il tuo dubbio, come era esplicito nella mia premessa, se non ci verrà spiegato l'arcano, possiamo ugualmente limitarci a rispondere banalmente alla domanda non credi...?

Devi accedere o registrarti per scrivere nel forum
4 risposte