Быстрый старт
Развертывание
Моделирование данных
Подключение
Запись данных
Миграция
Запросы
Операции и обслуживание
Типовое обслуживание
Секционирование
Резервное копирование и восстановление
Масштабирование
Мониторинг
Настройка производительности
Устранение неполадок
Справочник
Руководство по инструментам
Типы данных
Хранилище данных
Выполняющая система
Потоковая передача
Восстановление после сбоев
Конфигурация
Индексы
Расширения
Справочник по SQL
Часто задаваемые вопросы
Позиционирует курсор.
MOVE [ <forward_direction> [ FROM | IN ] ] <cursor_name>
где <forward_direction> может быть пустым или одним из следующих значений:
NEXT
FIRST
LAST
ABSOLUTE <count>
RELATIVE <count>
<count>
ALL
FORWARD
FORWARD <count>
FORWARD ALL
Команда MOVE изменяет позицию курсора, не извлекая при этом данные. Команда MOVE работает точно так же, как команда FETCH, за исключением того, что она лишь перемещает позицию курсора и не возвращает строки.
Примечание!
Нельзя использовать MOVE с PARALLEL RETRIEVE CURSOR.
Примечание!
Поскольку Database не поддерживает прокручиваемые курсоры, переместить курсор назад невозможно. Вы можете перемещать курсор только вперёд с помощью команды MOVE.
Параметры команды MOVE идентичны параметрам команды FETCH; подробности о синтаксисе и использовании см. в описании команды FETCH.
При успешном завершении команда MOVE возвращает тег команды вида
MOVE <count>
Здесь значение count — это количество строк, которое вернула бы команда FETCH с теми же параметрами (возможно, ноль).
Начните транзакцию:
BEGIN;
Создайте курсор:
DECLARE mycursor CURSOR FOR SELECT * FROM films;
Пропустите первые 5 строк в курсоре mycursor:
MOVE FORWARD 5 IN mycursor;
MOVE 5
Извлеките следующую строку (строка 6):
FETCH 1 FROM mycursor;
code | title | did | date_prod | kind | len
-------+--------+-----+------------+--------+-------
P_303 | 48 Hrs | 103 | 1982-10-22 | Action | 01:37
(1 row)
Закройте курсор и завершите транзакцию:
CLOSE mycursor;
COMMIT;
В стандарте SQL отсутствует оператор MOVE.