跳转至

MOVE

MOVE

定位游标。

语法

``` sql MOVE [ forward_direction [ FROM | IN ] ] cursor_name

其中`forward_direction`可以为空或以下之一:

``` sql
    NEXT
    FIRST
    LAST
    ABSOLUTE count
    RELATIVE count
    count
    ALL
    FORWARD
    FORWARD count
    FORWARD ALL
描述

MOVE会重新定位游标,而不会检索任何数据。 MOVE的工作方式与FETCH命令完全相同,只不过它仅定位光标而不返回行。

请注意,由于不支持可滚动光标,因此无法在SeaboxMPP数据库中向后移动光标位置。 只能使用MOVE向前移动光标。

成功完成后,MOVE命令将返回以下形式的命令标签:

MOVE count
                

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

参数

该SQL命令参数说明见下

forward_direction
MOVE命令的参数与FETCH命令的参数相同。 有关语法和用法的详细信息,请参阅FETCH
cursor_name
打开的游标的名称。
示例

开始事务:

BEGIN;

设置游标:

DECLARE mycursor CURSOR FOR SELECT * FROM films;

在游标mycursor中向前移动5行:

MOVE FORWARD 5 IN mycursor;
MOVE 5

之后获取下一行(第6行):

FETCH 1 FROM mycursor;
code | title | did | date_prod | kind | len
-------+--------+-----+------------+--------+-------
P_303 | 48 Hrs | 103 | 1982-10-22 | Action | 01:37
(1 row)

关闭游标并结束事务:

CLOSE mycursor;
COMMIT;
兼容性说明
SQL标准中没有MOVE语句。
相关SQL命令
DECLARE , FETCH , CLOSE