Доступные версии документации

Создание точки сохранения

Функция

Создание промежуточной точки сохранения в текущей локальной транзакции.

Спецификация
   
<создание точки сохранения>::=
Синтаксические правила
  1. <Имя точки сохранения> должно быть уникальным для канала в течение транзакции.

    set savepoint "Итоговые суммы";
    set savepoint AFTER_SALE;
Пример
1) открываем канал в режиме EXCLUSIVE;
2) выполняем SQL-запросы, которые относятся к транзакции в целом (например, вносим в БД поступление новых заявок на товары);
3) организуем цикл по обработке  заявок на товары. Заявка может быть удовлетворена (если товаров достаточно), или отклонена – в противном случае;
4) в начале обработки каждой заявки устанавливаем контрольную точку:
set savepoint sp1;
5) выполняем SQL-запросы по обработке заявки;
6) по окончании обработки каждой заявки устанавливаем контрольную точку:
set savepoint sp2;
7) если заявка не может быть принята, делаем откат к контрольной точке, выставленной до начала обработки заявки, sp1:
rollback to savepoint sp1;
иначе принимаем заявку к исполнению – делаем commit до контрольной точки, выставленной по окончании обработки заявки, sp2:
commit to savepoint sp2;
8) продолжаем обработку заявок (шаг 4);
9) выполняем общий commit или rollback всей транзакции.
          
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter