Приведите пример использования транзакции в базе данных.

Пример транзакции — создание заказа и резервирование доступного остатка товара. Либо обе операции фиксируются, либо при ошибке обе отменяются.

Короткий ответ

Что ответить на собеседовании

Пример транзакции — создание заказа и резервирование доступного остатка товара. Либо обе операции фиксируются, либо при ошибке обе отменяются.

Подробный разбор

Ответ с пояснениями

Пример транзакции — создание заказа и резервирование доступного остатка товара. Либо обе операции фиксируются, либо при ошибке обе отменяются.

Внутри BEGIN выполните условное уменьшение остатка WHERE stock >= quantity, проверьте число изменённых строк и создайте заказ. При ошибке — ROLLBACK, при успехе — COMMIT. Для нескольких товаров задайте общий порядок блокировок. Внешнюю отправку события не считайте частью обычной DB-транзакции: сохраните outbox-запись и доставьте её отдельно.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее