割り当ての右側にある名前は、列の順序に関係なく、列の古い値を参照しています。
これにより (たとえば)、一時変数を使用せずに 2 つの値を交換できます。
UPDATE foo
SET a = b,
b = a
http://sqlfiddle.com/#!3/f6984/1
SQL-92 仕様 (セクション 13.10、一般規則、395 ページの項目 6) には次のように記載されています。
割り当ての右側にある名前は、列の順序に関係なく、列の古い値を参照しています。
これにより (たとえば)、一時変数を使用せずに 2 つの値を交換できます。
UPDATE foo
SET a = b,
b = a
http://sqlfiddle.com/#!3/f6984/1
SQL-92 仕様 (セクション 13.10、一般規則、395 ページの項目 6) には次のように記載されています。
SQLの動的クエリでカンマ区切りの文字列を渡す方法 SQL Server 2008 MERGE ステートメント - INSTEAD OF INSERT トリガーを無効にして MERGE を許可する方法