Positions a cursor.
MOVE [ <forward_direction> [ FROM | IN ] ] <cursor_name>
where forward_direction can be empty or one of:
NEXT FIRST LAST ABSOLUTE <count> RELATIVE <count> <count> ALL FORWARD FORWARD <count> FORWARD ALL
MOVE repositions a cursor without retrieving any data.
MOVE works exactly like the FETCH command, except it only positions the cursor and does not return rows.
PARALLEL RETRIEVE CURSOR.
It is not possible to move a cursor position backwards in Greenplum Database, since scrollable cursors are not supported. You can only move a cursor forward in position using
On successful completion, a
MOVE command returns a command tag of the form
The count is the number of rows that a
FETCH command with the same parameters would have returned (possibly zero).
MOVEcommand are identical to those of the
FETCHcommand; refer to FETCH for details on syntax and usage.
-- Start the transaction:
-- Set up a cursor:
DECLARE mycursor CURSOR FOR SELECT * FROM films;
-- Move forward 5 rows in the cursor
MOVE FORWARD 5 IN mycursor; MOVE 5
-- Fetch the next row after that (row 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 the cursor and end the transaction:
CLOSE mycursor; COMMIT;
There is no
MOVE statement in the SQL standard.
Parent topic: SQL Commands