ПочатиПочніть безкоштовно

Рівні ізоляції та транзакції

SERIALIZABLE — це рівень ізоляції, який робить знімок запису, коли виконується перший запит або оператор оновлення, і повертає помилку, якщо дані будь-яким чином змінюються поза межами транзакції. Зауважте, що транзакція може виконувати іншу роботу, наприклад, оголошувати змінні, до першого запиту.

Ви знову використаєте набір даних FFIEC, щоб попрацювати з даними, де річна зміна ощадних депозитів RCON0352 зазнає впливу великого зсуву.

Ця вправа є частиною курсу

Транзакції та обробка помилок у PostgreSQL

Переглянути курс

Інструкції до вправи

  • Почніть транзакцію в режимі SERIALIZABLE.
  • Оновіть усі записи, де RCON0352 більше ніж 100 000, із зменшенням на 50%.
  • Виконайте COMMIT транзакції.
  • Виберіть кількість записів, у яких значення RCON0352 все ще більше ніж 100 000.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

-- Create a new transaction with a serializiable isolation level
___ TRANSACTION ISOLATION LEVEL ___;

-- Update records with a 50% reduction if greater than 100000
___ ffiec_reci
SET ___ = ___ * 0.5
WHERE RCON0352 > 100000;

-- Commit the transaction
___;

-- Select a count of records still over 100000
SELECT ___(RCON0352)
FROM ___
WHERE RCON0352 > 100000;
Редагувати та запускати код