SET TRANSACTION ISOLATION
LEVEL REPEATABLE READ
SERIALIZABLE – ізольованість. Читання заборонено до завершення транзакції. Це максимальний рівень ізоляції, який забезпечує повну ізоляцію транзакцій один від одного. Він встановлюється командою:
SET TRANSACTION ISOLATION
LEVEL SERIALIZABLE
В кожний момент часу можливий тільки один рівень ізоляції.
Таблиця 16.1. Рівень ізоляції конкуруючої транзакції прийнятий за умовчанням (READ COMMITTED). В прикладі кроки 4, 6 і 8 демонструють чорнове читання. Кроки 9 і 10 блокуються, тому що дані захоплені конкуруючою транзакцією.

Таблиця 16.2. Рівень ізоляції конкуруючої транзакції прийнятий за умовчанням (READ COMMITTED). В прикладі кроки 4, 6 і 8 демонструють блокування даних, захоплених іншою транзакцією, тоді як робота з іншими даними дозволяється (крок 10).

Таблиця 16.3. Рівень ізоляції конкуруючої транзакції прийнятий за умовчанням (READ COMMITTED). На кроці 2 транзакція захопила дані читанням і блокує роботу з ними із сторони конкуруючої транзакції (кроки 3, 5), яка може лише додавати записи (крок 7).

Таблиця 16.4. Рівень ізоляції конкуруючої транзакції прийнятий за умовчанням (READ COMMITTED). Приклад демонструє, що поточна транзакція захопила дані читанням (крок 2) і блокує будь-які дії з ними із сторони конкуруючої транзакції аж до вставки даних (крок 7) .

Контрольні питання
Дайте визначення транзакції.
Вчому полягає її призначення?
Якими властивостями володіє кожна транзакція?
Про що говорить властивість неподільності?
Про що говорить властивість ізольованості?
Про що говорить властивість стійкості?
Про що говорить властивість злагодженості?
Хто або що відповідає за дотримання властивостей транзакцій?
Що таке блокування?
За якої умови воно виникає?
Які різновиди блокування існують?
Що таке рівні блокування?
Скільки їх існує? Опишіть кожен.
Яким чином здійснюється керування транзакціями?
Перерахуйте і опишіть команди, що здійснюють керування.