1583. Lock row before balance update — Helpdesk — implementation variant 33

DBMS Published Updated 0 Views Verified
In a Helpdesk application, implement this production problem: Prevent two workers from spending the same account balance concurrently. The API/service receives user input and must return or modify data safely. Give the SQL solution, explain why it works, and show how the same operation is called from the selected stack.
Looking for the latest Sarkari Result 2026 updates? Check the latest government exam results, merit lists and result updates on Sarkari Resultess.
Sarkari Resultess
Questions & Answers

Answer & Explanation

4 Answers
Verified

Option A

SELECT * FROM the_table;
Additional Explanation
Incorrect: it does not implement the stated business rule and may modify/fetch the wrong rows.
Sarkari Resultess
Editorial Answer 1
Verified

Option B

UPDATE the_table SET status='active';
Additional Explanation
Incorrect: it does not implement the stated business rule and may modify/fetch the wrong rows.
Sarkari Resultess
Editorial Answer 2
Verified Correct Answer

Option C

START TRANSACTION; SELECT id,balance FROM accounts WHERE id=:account_id FOR UPDATE; UPDATE accounts SET balance=balance-:amount WHERE id=:account_id AND balance>=:amount; COMMIT;
Additional Explanation
FOR UPDATE locks the selected row until commit/rollback in supported transactional engines. Keep the transaction short.
Sarkari Resultess
Editorial Answer 3
Verified

Option D

DELETE FROM the_table;
Additional Explanation
Incorrect: it does not implement the stated business rule and may modify/fetch the wrong rows.
Sarkari Resultess
Editorial Answer 4