Les mises à jour SQL sont de nature atomique - il n'y a pas de concept de "séquence" ou "d'ordre" dans lequel les colonnes individuelles sont mises à jour. Vous pouvez les mettre dans n'importe quel ordre, peu importe.
Conceptuellement, vous pouvez penser à prendre l'état "avant" de la ligne et à le transformer en état "après" de la ligne. Ainsi, COL_A sera mis à jour avec la valeur qui se trouvait dans COL_B avant la mise à jour.
Cela facilite l'échange de deux valeurs :
UPDATE test2 SET A=B, B=A;