阅读(3955) (22)

PostgreSQL MOVE

2021-08-23 15:46:47 更新

MOVE — 定位一个游标

大纲

MOVE [ direction [ FROM | IN ] ] cursor_name

其中direction可以为空或者以下之一:

    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;

-- 跳过前 5 行:
MOVE FORWARD 5 IN liahona;
MOVE 5

-- 从游标 liahona 中取第 6 行:
FETCH 1 FROM liahona;
 code  | title  | did | date_prod  |  kind  |  len
-------+--------+-----+------------+--------+-------
 P_303 | 48 Hrs | 103 | 1982-10-22 | Action | 01:37
(1 row)

-- 关闭游标 liahona 并且结束事务:
CLOSE liahona;
COMMIT WORK;

兼容性

在 SQL 标准中没有MOVE语句。

另见

CLOSE , DECLARE, FETCH