Row-level locking for order processing
SQL
Medium
2 views
Problem Description
When processing an order, lock it so two workers do not process it together. Write a safe SELECT FOR UPDATE pattern.
Sample Test Case
Input:
Orders(order_id, status)
Constraints
Use status check
Official Solution
BEGIN; SELECT status FROM Orders WHERE order_id=7001 FOR UPDATE; UPDATE Orders SET status='PROCESSING' WHERE order_id=7001 AND status='NEW'; COMMIT;
Solutions (0)
No solutions submitted yet. Be the first!
No comments yet. Start the discussion!