MOVE
Function
MOVE repositions a cursor without retrieving any data. MOVE works exactly like the FETCH statement, except it only repositions the cursor and does not return rows.
Precautions
None
Syntax
MOVE [ direction [ FROM | IN ] ] cursor_name;
The direction clause specifies optional parameters.
NEXT
| PRIOR
| FIRST
| LAST
| ABSOLUTE count
| RELATIVE count
| count
| ALL
| FORWARD
| FORWARD count
| FORWARD ALL
| BACKWARD
| BACKWARD count
| BACKWARD ALL
Parameter Description
The parameters of MOVE and FETCH are the same. For details, see Parameter Description in FETCH.
NOTE:
On successful completion, a MOVE statement returns a tag of the form MOVE count. The count is the number of rows that a FETCH statement with the same parameters would have returned (possibly zero).
Examples
-- Start a transaction.
openGauss=# START TRANSACTION;
-- Define a cursor cursor1.
openGauss=# CURSOR cursor1 FOR SELECT * FROM tpcds.reason;
-- Skip the first three rows of cursor1.
openGauss=# MOVE FORWARD 3 FROM cursor1;
-- Fetch the first four rows from cursor1.
openGauss=# FETCH 4 FROM cursor1;
r_reason_sk | r_reason_id | r_reason_desc
-------------+------------------+------------------------------------------------------------------------------------------------------
4 | AAAAAAAAEAAAAAAA | Not the product that was ordred
5 | AAAAAAAAFAAAAAAA | Parts missing
6 | AAAAAAAAGAAAAAAA | Does not work with a product that I have
7 | AAAAAAAAHAAAAAAA | Gift exchange
(4 rows)
-- Close the cursor.
openGauss=# CLOSE cursor1;
-- End the transaction.
openGauss=# END;
Helpful Links
Feedback