PostgreSQL 中文参考文档
🌐 英文原版 官方 ↗

MOVE

MOVE — 定位一个游标

Synopsis

MOVE [ direction ] [ FROM | IN ] cursor_name

where direction can be one of:

    NEXT
    PRIOR
    FIRST
    LAST
    ABSOLUTE count
    RELATIVE count
    count
    ALL
    FORWARD
    FORWARD count
    FORWARD ALL
    BACKWARD
    BACKWARD count
    BACKWARD ALL

描述

MOVE 在不取回任何数据的情况下重新定位一个游标。MOVE 的工作方式与 FETCH 命令完全相同,只是它只定位游标而不返回行。

MOVE 命令的参数与 FETCH 命令的参数完全相同;有关语法和用法的详情请参考 FETCH。

输出

成功完成时,MOVE 命令会返回形式如下的命令标签

MOVE count

其中 count 是具有相同参数的 FETCH 命令本会返回的行数(可能为零)。

示例

BEGIN WORK;
DECLARE liahona CURSOR FOR SELECT * FROM films;

-- Skip the first 5 rows:
MOVE FORWARD 5 IN liahona;
MOVE 5

-- Fetch the 6th row from the cursor liahona:
FETCH 1 FROM liahona;
 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 end the transaction:
CLOSE liahona;
COMMIT WORK;

兼容性

SQL 标准中没有 MOVE 语句。

另请参阅

CLOSE, DECLARE, FETCH