НачатьНачать бесплатно

Откат с использованием точки сохранения

Продолжая работу с предыдущим упражнением, выяснилось, что банки с объёмом MMDA более 6 миллионов долларов в два раза устойчивее в период экономического спада, чем банки с показателем от 5 до 6 миллионов долларов в том же классе активов. В примере кода допущена ошибка, и нам нужно выполнить откат к точке сохранения, чтобы сохранить целостность данных.

Это упражнение является частью курса

Транзакции и обработка ошибок в PostgreSQL

Посмотреть курс

Инструкции к упражнению

  • Внутри транзакции установите для FIELD48 значение 'MMDA+' там, где RCON6810 (сумма MMDA) превышает 6 миллионов долларов.
  • Установите mmdaplus_flag_set в качестве точки сохранения.
  • Установите для FIELD48 значение 'MMDA+' там, где RCON6810 (сумма MMDA) превышает 5 миллионов долларов (это ошибка).
  • Выполните откат к mmdaplus_flag_set, завершите транзакцию и подсчитайте записи со значением 'MMDA+'.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

BEGIN;

-- Set the flag to MMDA+ where the value is greater than $6 million
UPDATE ffiec_reci set FIELD48 = 'MMDA+' where RCON6810 > 6000000;

-- Set a Savepoint
___ mmdaplus_flag_set;

-- Mistakenly set the flag to MMDA+ where the value is greater than $5 million
UPDATE ffiec_reci set FIELD48 = 'MMDA+' where ___ > 5000000;

-- Rollback to savepoint
___ TO ___;

COMMIT;

-- Select count of records where the flag is MMDA+
SELECT count(FIELD48) from ffiec_reci where FIELD48 = 'MMDA+';
Редактировать и запускать код