Неповторяемое считывание
Транзакция A дважды читает одну и ту же строку. Между этими чтениями вклинивается транзакция B, которая изменяет значения в строке.
| Время | Транзакция A | Транзакция B |
| S-блокировка
- доступна
| --- |
| Чтение
| --- |
| --- | X-блокировка
- недоступна
|
| --- | Ожидание… |
| Повторное чтение
| Ожидание… |
| COMMIT (Блокировка снимается) | Ожидание… |
| --- | X-блокировка
- доступна
|
| --- | Запись
|
| --- | COMMIT (Блокировка снимается) |
| Все правильно |
Результат. Транзакция B притормозилась до окончания транзакции A. В результате транзакция A дважды читает одни и те же данные правильно. После окончания транзакции A, транзакция B продолжила работу в обычном режиме.
- доступна






