Начало работы
Подключение
Тесты производительности
Развёртывание
Использование данных
Загрузка данных
Миграция данных
Запрос данных
Управление кластерами
Обновление
Глобальное обслуживание
Масштабирование
Мониторинг
Безопасность
Лучшие практики
Технические принципы
Типы данных
Хранилище
Исполняющий движок
Потоковая обработка (Domino)
MARS3 Индексы
Расширения
Расширенные функции
Расширенный запрос
Федеративные запросы
Grafana
Резервное копирование и восстановление
Аварийное восстановление
Руководство
Настройка производительности
Устранение неполадок
Инструменты
Параметры конфигурации
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.