MOVE

定位一个游标

概要

  1. MOVE [ forward_direction {FROM | IN} ] cursorname

其中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数据库中向后移动一个游标是不可能的,因为在Greenplum数据库中不支持滚动游标。只能够用MOVE向前移动游标位置。

输出

成功完成时,MOVE命令返回的命令标签形式是

  1. MOVE count

count是一个 具有同样参数的FETCH命令会返回的 行数(可能为零)。

参数

forward_direction

FETCH 获取更多信息。

cursorname

一个打开的游标名称。

示例

-- 开始一个事务:

  1. BEGIN;

-- 建立一个游标:

  1. DECLARE mycursor CURSOR FOR SELECT * FROM films;

-- 使用游标mycursor向前移动5行:

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

--获取之后的一行(第六行)

  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

上级主题: SQL命令参考