Реализация отката в Базе Данных
У меня база на основе ADOQuery
Как реализовать откат БД, чтобы была возможность
отменить последнее (последние) действие.
например
Код:
DELETE FROM `table` WHERE `id` = 1;
делаешь дамп SELECT'а (INSERT запросы) этого добра, и этот дамп кладёшь как последнее действие... откат - выполнение INSERT'а.
а транзакции на что дадены ?
если автор планирует делать отмены нескольких действий - то прийдется комбинировать транзакции + таблица действий. Кроме того - автору прийдется хориошо поломать голову если в его БД будет работать более одного пользователя. Как у него будет выглядеть откат в таком случае? Я бы рекомендовал не гнаться за излишним функционалом и давать возможность отменить последнее действие и не более.
Согласен с охотником, в БД самый верный и правильный способ организации отказа - посредством Транзакции.
Прога сетевая поэтому я обошолся транзакцией. Спасибо!