Junior — Middle
103
Leg uit wat het doel is van de constructie SELECT FOR UPDATE in SQL en hoe deze wordt gebruikt bij transactiebeheer
Bedrijven waar gevraagd werd
Lemon
Antwoord van 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 помогает управлять конкурентным доступом и предотвращать состояния гонки при параллельных операциях с базой данных.