Junior — Middle
98
Explicați scopul construcției SELECT FOR UPDATE în SQL și utilizarea acesteia în gestionarea tranzacțiilor
Companiile au fost întrebate
Lemon
Răspuns de la AI
sobes.tech AI
Конструкция SELECT ... FOR UPDATE в SQL используется для блокировки выбранных строк таблицы на время текущей транзакции. Это предотвращает одновременное изменение этих строк другими транзакциями, обеспечивая согласованность данных.
Например, при реализации банковского перевода:
BEGIN TRANSACTION;
SELECT balance FROM accounts WHERE account_id = 123 FOR UPDATE;
-- вычисления и обновления баланса
UPDATE accounts SET balance = new_balance WHERE account_id = 123;
COMMIT;
Здесь FOR UPDATE блокирует строку с account_id = 123, чтобы другие транзакции не могли изменить её до завершения текущей транзакции.
Таким образом, SELECT FOR UPDATE помогает управлять конкурентным доступом и предотвращать состояния гонки при параллельных операциях с базой данных.