• I do not see a value for 2 points. It's only a simple swap. It behaves the same in any sqlserver release.

    DECLARE @MyTable TABLE (Col1 INT,

    Col2 INT)

    -- Col1 Col2

    INSERT INTO @MyTable VALUES (1, 2)

    INSERT INTO @MyTable VALUES (3, 4)

    UPDATE @MyTable SET Col1 = Col2, Col2 = Col1

    SELECT Col1, Col2 FROM @MyTable

    Try this for fun:

    DECLARE @MyTable TABLE (Col1 INT,

    Col2 INT

    ,Col3 INT)

    DECLARE @i INT

    -- Col1 Col2

    INSERT INTO @MyTable(Col1,Col2) VALUES (1, 2)

    INSERT INTO @MyTable(Col1,Col2) VALUES (3, 4)

    SET @i = 0

    UPDATE @MyTable SET

    @i = @i + Col1

    , Col1 = Col2

    , Col2 = Col1

    , Col3 = @i

    SELECT Col1, Col2, Col3 FROM @MyTable