#823

Trasferisci denaro tra conti senza andare in rosso

Un classico compito su due conti bancari e un trasferimento. Se ti limiti a leggere entrambi i saldi e ad aggiornarli senza lock, due transazioni parallele possono vedere lo stesso stato ed entrambe sottrarre il denaro: il conto finisce in negativo. All'interno di un'unica transazione trasferisci 200 dal conto di Anna (id 1) a quello di Bob (id 2): prima blocca entrambe le righe in modalità scrittura per il resto della transazione, poi con due update sottrai 200 ad Anna e accredita 200 a Bob.

Esempio di output atteso

Ecco come appare una risposta corretta — il suo numero di righe è a sé stante, non deve corrispondere alle tabelle dello schema.

idholderbalance
1Аня800.00
2Боб700.00

Il risultato della tua query apparirà qui