Каждый запрос в Oracle соответствует определенному моменту времени (обычно это начало запроса).
В вашем случае, если вы открываете курсор и во время его извлечения кто-то изменяет строки, Oracle восстановит логическую копию данных, как это было при открытии курсора. Вы не увидите изменений в данных, сделанных после этого момента.
Эта последовательность чтения является фундаментальной частью механизма Oracle.
Из Концептуального руководства , последовательность чтения:
- Гарантирует, что набор данных, видимый оператором, согласован относительно одного момента времени и не изменяется во время выполнения оператора (согласованность чтения на уровне оператора)
- Гарантирует, что читатели данных базы данных не ждут писателей или других читателей тех же данных
- Гарантирует, что создатели данных базы данных не ждут читателей с теми же данными
- Гарантирует, что писатели ждут других писателей, только если они пытаются обновить идентичные строки в параллельных транзакциях