Gli aggiornamenti SQL sono di natura atomica:non esiste il concetto di "sequenza" o "ordine" in cui vengono aggiornate le singole colonne. Puoi metterli nell'ordine che preferisci, non importa.
Concettualmente, puoi pensare di prendere lo stato "prima" della riga e cambiarlo nello stato "dopo" della riga. Quindi COL_A verrà aggiornato con qualsiasi valore fosse in COL_B prima dell'aggiornamento.
Ciò semplifica lo scambio di due valori:
UPDATE test2 SET A=B, B=A;