Bir işlem TÜM tablolar başarılı ya sağlamak için bir yoldur, ya da hiçbiri yok.
Örneğin, Alice Bob'un banka hesabına para aktarmak için, bir bunu yapabilirsiniz:
UPDATE accounts SET amount = amount - 100 WHERE name = 'Bob';
UPDATE accounts SET amount = amount + 100 WHERE name = 'Alice';
(Güç söner, çünkü sunucu çöker) bir şey yanlış giderse, ilk ifadesinden sonra düşünün. Banka artık Bob 100 dolar mahsup, ancak Alice hiçbir şey yok!
Bunu önlemek için, bir işlem kullanın. Etan açıklandığı gibi: ilk BEGIN, sonra tüm ifadeleri yürütmek. Her şey iyi giderse, o zaman COMMIT. Ancak o zaman değişiklikler kaydedilir.
Bir şeyler yanlış giderse (örn. Alice için hiçbir hesabı yoktur) geri alma, ya da bir şey (yani güç iner) ciddi yanlış giderse, sunucu olacak geri alma.
To answer your UPDATE
If you have Updated something in a table you can reset the previous value using this function only if you started with BEGIN and did not COMMIT yet, yes.