NAME
MOVE - position a cursor on a specified row of a table
SYNOPSIS
MOVE [ direction ] [ count ]
{ IN | FROM } cursor
DESCRIPTION
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 FETCH [fetch(l)] for details on syntax and usage.
NOTES
MOVE is a PostgreSQL language extension.
Refer to FETCH [fetch(l)] for a description of valid arguments. Refer to DECLARE [declare(l)] to define a cursor. Refer to BEGIN [begin(l)], COMMIT [commit(l)], and ROLLBACK [rollback(l)] for further information about transactions.
USAGE
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;
COMPATIBILITY
SQL92
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 position.