Я полагаю, что вы спрашиваете , если , вы должны откатить успешные записи, если ошибка происходит в процессе пакетной обработки.
Вы хотите, чтобы обновления вашей БД происходили в транзакциях вспособ, который делает записи базы данных непротиворечивыми и законными (в отношении БД и бизнес-правил) после того, как каждая транзакция зафиксирована или откатана.
Если каждый элемент в вашем списке из 100 записей может быть обработан и записан индивидуально, то яРекомендуется использовать какой-нибудь флаг (это также может быть поле состояния), чтобы указать, была ли обработана каждая запись, а затем просмотреть все записи, чтобы обновить каждую.Если вы столкнулись с ошибкой, обратите внимание, что где-то (файл журнала, исключение, таблица ошибок ... ваш вызов) и двигаться дальше.Когда вы закончите, вы запишете, какие записи были успешными, а какие - нет.После этого вы сможете вернуться и исправить все, что вызвало проблему (-и) на плохих записях, и повторно обработать пропущенные записи.
Если все 100 ваших записей будут успешными или неуспешными вместе, то вынужно обернуть ваши обновления в транзакцию, чтобы все они успешно выполнялись или терпели неудачу как единое целое.Это будет работать для десятков записей или (может быть) сотен записей, но попытка масштабирования до тысячи записей в одной транзакции может создать проблемы с масштабируемостью (проблемы с производительностью и конфликтами), поэтому вам нужно другое решение для шаблонавот так.