Оглавление  | Назад  | Вперед

Справочник по инструкциям и функциям InterBase SQL

DECLARE CURSOR

Описание
Синтаксис
Примеры
Смотри так же

Описание

DECLARE CURSOR определяет набор строк, которые могут быть возвращены, при обращении к этому курсору. Это первая инструкция, из группы инструкций работы с курсором, которая должна быть использована в работе с ним.

<select> определяет инструкцию SELECT, которая определяет, какие строки необходимо отыскать. Инструкция SELECT не должна включать предложения INTO и ORDER BY.

Предложение FOR UPDATE OF необходимо, для модификации или удаления строк [using the WHERE CURRENT OF clause with UPDATE and DELETE.]

Курсор это однонаправленный указатель на упорядоченный набор возвращенных строк выражением SELECT в инструкции DECLARE CURSOR. Он позволяет последовательный доступ к отысканным строкам в свою очередь. Есть четыре связанных инструкции для работы с курсором:

Стадия Инструкция Назначение
1 DECLARE CURSOR Объявляет курсор. Инструкция SELECT определяет строки возвращаемые для курсора.
2 OPEN Отыскивает строки определенные, чтобы вернуть, с помощью DECLARE CURSOR. Результирующие строки становятся текущим набором курсора.
3 FETCH Возвращает текущую строку из текущего набора, начиная с первой строки.
4 CLOSE Закрывает курсор и освобождает системные ресурсы.

Эта инструкция может быть использована в SQL и DSQL.

К началу страницы...

Синтаксис

SQL:

DECLARE cursor CURSOR FOR <select> [FOR UPDATE OF <col> [, <col>...]];

DSQL:

DECLARE cursor CURSOR FOR <statement_id>

Для BLOB:

Смотри: DECLARE CURSOR (BLOB)

Аргумент Описание
cursor Имя курсора.
<select> Определяет, какие строки должны быть возвращены. Только для SQL.
FOR UPDATE OF <col>
[, <col>...]
Позволяет UPDATE и DELETE на определенных столбцах для возвращенных строк.
<statement_id> Имя инструкции SQL предварительно приготовленной (prepared) инструкции, которая, в это м случае, должна использоваться вместо инструкции SELECT. Только для DSQL.

К началу страницы...

Примеры

Следующая внедренная инструкция SQL объявляет курсор с условиями поиска:

EXEC SQL
  DECLARE C CURSOR FOR
  SELECT CUST_NO, ORDER_STATUS
  FROM SALES
  WHERE ORDER_STATUS IN ("open", "shipping");

Следующая инструкция DSQL объявляет курсор для предварительно приготовленной инструкции QUERY1:

DECLARE Q CURSOR FOR QUERY1

К началу страницы...

Смотри так же:

К началу страницы...


Оглавление  | Назад  | Вперед