Преведи пари между сметки, без да допускаш минус
Класическа задача с две банкови сметки и превод между тях.
Ако просто прочетеш двата баланса и ги обновиш без заключвания, две паралелни транзакции могат да видят едно и също състояние и двете да удържат парите — сметката отива на минус. В рамките на една транзакция преведи 200 от сметката на Анна (с идентификатор 1) към сметката на Боб (с идентификатор 2): първо заключи и двата реда за останалата част от транзакцията в режим за запис, после с две обновявания удържи 200 от Анна и начисли 200 на Боб.
Примерен очакван изход
Така изглежда правилният отговор — броят редове е негов собствен, не е задължително да съвпада с таблиците в схемата.
| id | holder | balance |
|---|---|---|
| 1 | Аня | 800.00 |
| 2 | Боб | 700.00 |
Влез, за да видиш историята на решенията
ВходВлез, за да използваш ИИ ментора
Вход