sql >> Base de Datos >  >> RDS >> Sqlserver

Actualización de columna basada en otra columna actualizada

Los nombres en el lado derecho de la asignación se refieren a los valores antiguos de las columnas, independientemente del orden en que se encuentren.

Esto (por ejemplo) le permite intercambiar dos valores sin usar una variable temporal.

UPDATE foo
SET a = b,
    b = a

http://sqlfiddle.com/#!3/f6984/1

La especificación SQL-92 (Sección 13.10, Reglas generales, Artículo 6 en la página 395) establece: