MOVE

Name

MOVE  --  Moves cursor position

Synopsis

MOVE [ direction ] [ count ] { IN | FROM } cursor
MOVE [ FORWARD | BACKWARD | RELATIVE ] [ # | ALL | NEXT | PRIOR ] { IN | FROM } cursor

Inputs

direction

Defines the move direction. It can be one of the following:

FORWARD

Move to next row. This is the default.

BACKWARD

Moves to previous row.

count

Determines how many rows to move. It can be one of the following:

#

A signed integer that specifies how many rows to move. Note that a negative integer is equivalent to changing the sense of FORWARD and BACKWARD.

ALL

Move all remaining rows.

NEXT

Equivalent to specifying a count of 1.

PRIOR

Equivalent to specifying a count of -1.

cursor

Name of an open 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.

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 enables you to FETCH rows from an absolute cursor position, implicitly moving the cursor to the correct position.