Курсоры базы данных (data base cursor) позволяют выбрать некоторую совокупность данных (создать что-то вроде временной таблицы, содержащей результаты выполнения предложения SELECT), инициировать последовательный просмотр сформированной совокупности записей (обычно называемых "набор записей" – "recordset") , произвести анализ конкретной записи, на которую указывает курсор и выполнить некоторую внешнюю операцию над текущей записью прежде, чем перейти на следующую.
Другим возможным использованием курсора является временное сохранение результатов выполнения запроса для последующего использования. Если приложение или процедура требует многократного использования некоторого набора записей, то для этих целей создается курсор и затем к нему производится многократное обращение (вместо многократного использования предложения SELECT).
Курсоры, как правило, используются в хранимых процедурах и приложениях, работающих с базой данных.
Для создания и использования курсора используются следующие шаги:
· Создать курсор.
· Открыть курсор для его использования в приложении или процедуре.
· Инициировать последовательный перебор записей курсора для их обработки.
· Закрыть курсор по окончанию работы с ним (с возможным последующим его открытием, когда появится в этом необходимость).
· Уничтожить курсор для удаления содержащегося в нем набора записей.
В отличии таблиц, индексов, триггеров, хранимых процедур и т.д. курсоры не являются объектами базы данных.