MOVE
Перемещает курсор.
Синтаксис
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).
В Greengage DB нельзя переместить курсор назад, поскольку прокручиваемые курсоры не поддерживаются. Можно только переместить курсор вперед с помощью команды MOVE.
Выводимая информация
В случае успешного завершения команды MOVE возвращается сообщение вида:
MOVE <count>
Здесь count показывает количество строк, которое вернула бы команда FETCH с теми же параметрами (возможно значение ноль).
Параметры
| Параметр | Описание |
|---|---|
forward_direction |
Параметры команды |
cursor_name |
Имя курсора |
Примеры
-- Начать транзакцию:
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.