PostgreSQL 7.3.4 Documentation
Prev |  | Next

# MOVE

## 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 for details on syntax and usage.

### Notes

`MOVE` is a PostgreSQL language extension.

Refer to FETCH for a description of valid arguments. Refer to DECLARE to define a cursor. Refer to BEGIN, COMMIT, and ROLLBACK 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.

Prev | Home | Next
LOCK | Up | NOTIFY