PostgreSQL, Oracle, dan SQL Server semuanya memperlakukan ini sebagai operasi atom. Lihat SQL Fiddle berikut, dan alihkan server untuk melihat perilaku SQL berikut :
CREATE TABLE Swap (
a CHAR(1),
b CHAR(1)
);
INSERT INTO Swap (a, b) VALUES ('a', 'b');
UPDATE Swap SET a = b, b = a;
SELECT * FROM Swap;
MySQL adalah satu-satunya RBDMS yang mengimplementasikan ini dengan kedua kolom berisi nilai yang sama setelah pembaruan.
Sejauh bagaimana Anda akan menyelesaikan ini, saya malah akan menarik nilai dari database, melakukan perhitungan di dalam aplikasi Anda (bukan pernyataan pembaruan Anda), dan kemudian memperbarui database dengan nilai yang dihitung. Dengan cara ini Anda dapat menjamin bahwa perhitungan akan dilakukan secara konsisten.