Использование курсоров
Операции выборки SQL работают с наборами строк, которые называются результирующие множества. Все возвращаемые строки являются строками, соответствующими примененному SQL-оператору, их может быть нуль или больше. При использовании простых операторов SELECT невозможно получить первую строку, последнюю строку или предыдущие 10 строк. Это объясняется особенностями функционирования реляционной СУБД.
Иногда бывает необходимо просмотреть строки в прямом или обратном направлении один или несколько раз. Именно для этого используются курсоры. Курсор представляет собой запрос к базе данных, хранящийся на сервере СУБД, — это не оператор SELECT, но результирующее множество, выборка, полученная в результате действия оператора SELECT. После того как курсор сохранен, приложения могут "прокручивать" (просматривать) данные в прямом или обратном направлении, как только возникает такая потребность.
• Указание области видимости, благодаря чему курсор может быть доступен или для запроса, посредством которого он был создан (например, для хранимой процедуры), или для всех запросов.
• Указание СУБД скопировать выбранные данные (в противоположность работе с "живыми" данными в таблицах), чтобы они не изменялись в промежуток времени между открытием курсора и обращением к нему.



