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.
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 MOVE.
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).
- The parameters for the MOVE command are identical to those of the FETCH command; refer to FETCH for details on syntax and usage.
- The name of an open cursor.
-- Start the transaction:
-- Set up a cursor:
DECLARE mycursor CURSOR FOR SELECT * FROM films;
-- Move forward 5 rows in the cursor mycursor:
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.