с Firebird 2.5 ваша версия: любая

OPEN

Версии сервера

2.53.04.05.06.0
ДаДаДаДаДа

Доступно в

PSQL

Формат

OPEN cursor_name;

Описание

Оператор OPEN открывает ранее объявленный курсор, выполняет объявленный в нём оператор SELECT и получает записи из результирующего набора. OPEN применим только к курсорам, объявленным оператором DECLARE ... CURSOR.

Если в SELECT курсора есть параметры, они должны быть объявлены как локальные переменные или входные (выходные) параметры до объявления курсора. При открытии курсора параметру присваивается текущее значение переменной. Это важно при повторном открытии курсора внутри цикла: каждый OPEN заново вычисляет результирующий набор с учётом актуальных на момент открытия значений.

После открытия курсор устанавливается перед первой записью набора. Последовательная выборка выполняется оператором FETCH, а по завершении работы курсор закрывается оператором CLOSE для освобождения ресурсов.

Пример

SET TERM ^;
CREATE OR ALTER PROCEDURE GET_RELATIONS_NAMES
RETURNS (
  RNAME CHAR(31)
)
AS
  DECLARE C CURSOR FOR (
    SELECT RDB$RELATION_NAME
    FROM RDB$RELATIONS);
BEGIN
  OPEN C;
  WHILE (1 = 1) DO
  BEGIN
    FETCH C INTO :RNAME;
    IF (ROW_COUNT = 0) THEN
      LEAVE;
    SUSPEND;
  END
  CLOSE C;
END^
SET TERM ;^

См. также

CLOSE, FETCH, DECLARE CURSOR, Разновидности языка SQL

Источник

Руководство по языку SQL СУБД Firebird 5.0 (sim1984 / ibase.ru, Public Documentation License)

Обсуждение