Ну вот могу пример привести как такое можно без транзакции сделать:
Есть например таблица b2b-клиентов, таблица наценок клиента, таблица наценок по брендам:
Клиент настраивает у себя в личном кабинете наценки на каждый бренд.
и нажимает сохранить..
Клиент это:
ID NAME
скидка это
ID NAME CLIENT_ID // привязка к таблице клиентов
скидки по каждому бренду это
ID VALUE BRAND_ID // привязка к таблице брендов SKIDKA_ID // привязка к таблице скидок
такое возможно без транзакции сохранить?
скидка по бренду должна быть обязательно привязана через SKIDKA_ID к ID скидки (которая еще возможно вообще не создана) а скидка в свою очередь к ID клиента, который тоже может быть еще не создан.
В итоге нам надо сохранить сначала клиента и получить ID, потом его сущность "скидка", получить ID и потом уже каждую конкретную скидку по бренду сохранять с привязкой к ID скидки.
В итоге имеем кучу сохранений и хоть в каком-то месте может случиться ошибка (из-за валидации данных например) и всю операцию нужно отменить.
Нет. Не интересно. Рутина Проблема при отвале сети
Обсуждают сегодня