Столкнулся недавно с тем, что многие программисты под базы данных Oracle не знают, как работает курсор в базе.
Имейте в виду, что СУБД Oracle не “отвечает предварительно” на запрос. В случае открытия курсора данные никуда не копируются — представьте себе, сколько времени потребовалось бы для открытия курсора в таблице, содержащей 1 миллиард строк, если это вообще удалось бы сделать. Курсор открывается немедленно и отвечает на запрос по мере перемещения. Другими словами, чтение данных из таблицы выполняется только при их извлечении из курсора.