Курсор (базы данных)

Курсор — поименованная область памяти, содержащая результирующий набор select запроса. Второе определение — это механизм обработки результирующего набора select запроса.

Курсор в PL/SQL

[править | править код]

В PL/SQL поддерживаются два типа курсоров:

  • явный — объявляется разработчиком;
  • неявный — не требует объявления.

Курсор может возвращать одну строку, несколько строк или ни одной строки. Для повторного создания результирующего набора для других значений параметров курсор следует закрыть, а затем повторно открыть.

Курсор может быть объявлен в секциях объявлений любого блока PL/SQL, подпрограммы или пакета.

Операторы управления явным курсором

[править | править код]
  • DECLARE — выполняет объявление явного курсора.
  • OPEN — открывает курсор, создавая новый результирующий набор на базе указанного запроса.
  • FETCH — выполняет последовательное извлечение строк из результирующего набора от начала до конца.
  • CLOSE — закрывает курсор и освобождает занимаемые им ресурсы.

Атрибуты курсора

[править | править код]
  • %ISOPEN — возвращает значение TRUE, если курсор открыт.
  • %FOUND — определяет, найдена ли строка, удовлетворяющая условию.
  • %NOTFOUND — возвращает TRUE, если строка не найдена.
  • %ROWCOUNT — возвращает номер текущей строки.

Примечания

[править | править код]