#823

Siirrä rahaa tilien välillä päästämättä saldoa miinukselle

Klassinen tehtävä kahdesta pankkitilistä ja niiden välisestä siirrosta. Jos vain luet molemmat saldot ja päivität ne ilman lukkoja, kaksi rinnakkaista transaktiota voivat nähdä saman tilan ja molemmat veloittaa rahat — tili menee miinukselle. Siirrä yhden transaktion sisällä 200 Annan tililtä (id 1) Bobin tilille (id 2): lukitse ensin molemmat rivit kirjoitustilaan transaktion loppuun asti, sitten veloita kahdella päivityksellä 200 Annalta ja hyvitä 200 Bobille.

Odotetun tulosteen näyte

Näin oikea vastaus näyttää — sen rivimäärä on omansa, eikä sen tarvitse vastata skeeman tauluja.

idholderbalance
1Аня800.00
2Боб700.00

Kyselysi tulos näkyy tässä