MOVE [ selector ] [ count ] { IN | FROM } cursor FETCH [ RELATIVE ] [ { [ # | ALL | NEXT | PRIOR ] } ] FROM ] cursor
MOVE allows a user to move cursor position a specified number of rows. MOVE works like the FETCH command, but only positions the cursor and does not return rows.
Refer to the FETCH command for details on syntax and usage.
MOVE is a Postgres language extension.
Refer to FETCH for a description of valid arguments. Refer to DECLARE to declare a cursor. Refer to BEGIN WORK, COMMIT WORK, ROLLBACK WORK statements for further information about transactions.
Set up and use a cursor:
BEGIN WORK; DECLARE liahona CURSOR FOR SELECT * FROM films; --Skip first 5 rows: MOVE FORWARD 5 IN liahona; MOVE --Fetch 6th row in the cursor liahona: FETCH 1 IN liahona; FETCH code |title |did| date_prod|kind |len -----+------+---+----------+----------+------ P_303|48 Hrs|103|1982-10-22|Action | 01:37 (1 row) -- close the cursor liahona and commit work: CLOSE liahona; COMMIT WORK;
There is no SQL92 MOVE statement. Instead, SQL92 allows one to FETCH rows from an absolute cursor position, implicitly moving the cursor to the correct place.