
# MOVE
#### 功能描述
MOVE在不检索数据的情况下重新定位一个游标。MOVE的作用类似于[FETCH](https://support.huaweicloud.com/sqlreference-dws/dws_06_0216.html)命令，但只是重定位游标而不返回行。
#### 注意事项
无。
#### 语法格式
```
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命令的参数与FETCH的相同，详细请参见FETCH的[参数说明](https://support.huaweicloud.com/sqlreference-dws/dws_06_0216.html#ZH-CN_TOPIC_0000001764675150__s680662240a104ac7a51873c7c888bdd1)。
![](https://support.huaweicloud.com/sqlreference-dws/public_sys-resources/note_3.0-zh-cn.png)
成功完成时，MOVE命令将返回一个"MOVE count"的标签，count是一个使用相同参数的FETCH命令会返回的行数（可能为零）。
#### 示例
创建表reason，并向表中插入数据。
```
DROP TABLE IF EXISTS reason;
CREATE TABLE reason
(
  a    int primary key,
  b    int,
  c    int
);
INSERT INTO reason VALUES (1, 2, 3);
```
开始一个事务。
```
START TRANSACTION;
```
定义一个名为cursor1的游标。
```
CURSOR cursor1 FOR SELECT * FROM reason;
```
忽略游标cursor1的前3行。
```
MOVE FORWARD 3 FROM cursor1;
```
抓取游标cursor1的前4行。
```
FETCH 4 FROM cursor1;
```
关闭游标。
```
CLOSE cursor1;
```
结束一个事务。
```
END;
```
#### 相关链接
[CLOSE](https://support.huaweicloud.com/sqlreference-dws/dws_06_0152.html)，[FETCH](https://support.huaweicloud.com/sqlreference-dws/dws_06_0216.html)
