Repositions a cursor to another row.


MOVE [ direction ] [ count ]
     { IN | FROM } cursor



The direction you wish to move the specified cursor. See the reference entry titled “FETCH” or more information about the different usable directions.


The number of rows you wish to move the cursor.


The cursor that you are moving.


The MOVE command will return the same errors and messages as the FETCH command; however, it will not return rows. See the reference entry titled “FETCH” for more information on what messages you may encounter.


Use the MOVE command to reposition a cursor. This command operates essentially the same as the FETCH command. However, unlike FETCH, it does not use the cursor to return the traversed rows after it is repositioned.


The following examples assume a transaction and an already defined cursor (cur_employee) that uses the employees table for data. Using the MOVE command, this example moves the cursor one row forward in the result set:

booktown=# MOVE FORWARD 1 IN cur_employee;

The only output returned by using this command is the message MOVE. The next example uses the FETCH command to display the second row of the cursor, after moving:

booktown=# FETCH 1 IN cur_employee;
 first_name | last_name
 Michael    | Holloway
(1 row)

Get Practical PostgreSQL now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.