MOVE

定位游标。

概要

  1. MOVE [ forward_direction [ FROM | IN ] ]
  2. cursor_name

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

  1. NEXT
  2. FIRST
  3. LAST
  4. ABSOLUTE count
  5. RELATIVE count
  6. count
  7. ALL
  8. FORWARD
  9. FORWARD count
  10. FORWARD ALL

描述

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

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

输出

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

  1. MOVE count

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

参数

forward_direction

MOVE命令的参数与FETCH命令的参数相同。 有关语法和用法的详细信息,请参阅FETCH

cursor_name

打开的游标的名称。

示例

-- 开始事务:

  1. BEGIN;

-- 设置游标:

  1. DECLARE mycursor CURSOR FOR SELECT * FROM films;

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

  1. MOVE FORWARD 5 IN mycursor;
  2. MOVE 5

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

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

-- 关闭游标并结束事务:

  1. CLOSE mycursor;
  2. COMMIT;

兼容性

SQL标准中没有MOVE语句。

另见

DECLARE , FETCH , CLOSE

Parent topic: SQL Command Reference