Курсор – это переменная, состоящая из строк некоторой таблицы или результата запроса. Сформировав курсор, можно в программе читать и обрабатывать каждую строку курсора. Если курсор построен на основе таблицы, то можно модифицировать и удалять текущую позицию курсора.
Типичная последовательность, при операциях в данном случае с явными (определенными курсорами) будет такая:
- Объявление курсора и структуры данных, в которую, будут помещены найденные строки.
- Открытие курсора.
- Последовательная выборка данных.
- Закрытие курсора.
Атрибуты курсора.
%ISOPEN
- Возвращает TRUE если курсор открыт, FALSE если курсор закрыт.
%FOUND
- Возвращает INVALID_CURSOR если курсор объявлен, но не открыт; или если курсор был закрыт.
- Возвращает NULL если курсор открыт, но выборка не была выполнена.
- Возвращает TRUE если выборка была удачно завершена.
- Возвращает FALSE если нет возвращаемых строк.
%NOTFOUND
- Возвращает INVALID_CURSOR если курсор объявлен, но не открыт; или если курсор был закрыт.
- Return NULL если курсор открыт, но выборка не была выполнена.
- Возвращает FALSE если выборка была удачно завершена.
- Возвращает TRUE если нет возвращаемых строк.
%ROWCOUNT
- Возвращает INVALID_CURSOR если курсор объявлен, но не открыт; или если курсор был закрыт.
- Возвращает число возвращаемых строк.
- Атрибут ROWCOUNT не дает реального количества строк, пока вы не пройдете весь курсор. Другими словами, вы не должны полагаться на этот атрибут, чтобы сказать, сколько строк в курсоре после его открытия.