MOVE
功能描述
MOVE在不检索数据的情况下重新定位一个游标。MOVE的作用类似于FETCH命令,但只是重定位游标而不返回行。
注意事项
无。
语法格式
1. MOVE [ direction [ FROM | IN ] ] cursor_name;
其中direction子句为可选参数。
1. NEXT
2. | PRIOR
3. | FIRST
4. | LAST
5. | ABSOLUTE count
6. | RELATIVE count
7. | count
8. | ALL
9. | FORWARD
10. | FORWARD count
11. | FORWARD ALL
12. | BACKWARD
13. | BACKWARD count
14. | BACKWARD ALL
参数说明
MOVE命令的参数与FETCH的相同,详细请参见FETCH的参数说明。
说明: 成功完成时,MOVE命令将返回一个“MOVE count”的标签,count是一个使用相同参数的FETCH命令会返回的行数(可能为零)。
示例
1. --开始一个事务。
2. openGauss=# START TRANSACTION;
4. --定义一个名为cursor1的游标。
5. openGauss=# CURSOR cursor1 FOR SELECT * FROM tpcds.reason;
7. --忽略游标cursor1的前3行。
8. openGauss=# MOVE FORWARD 3 FROM cursor1;
10. --抓取游标cursor1的前4行。
11. openGauss=# FETCH 4 FROM cursor1;
12. r_reason_sk | r_reason_id | r_reason_desc
13. -------------+------------------+------------------------------------------------------------------------------------------------------
14. 4 | AAAAAAAAEAAAAAAA | Not the product that was ordred
15. 5 | AAAAAAAAFAAAAAAA | Parts missing
16. 6 | AAAAAAAAGAAAAAAA | Does not work with a product that I have
17. 7 | AAAAAAAAHAAAAAAA | Gift exchange
18. (4 rows)
20. --关闭游标。
21. openGauss=# CLOSE cursor1;
23. --结束一个事务。
24. openGauss=# END;
说明: 成功完成时,MOVE命令将返回一个“MOVE count”的标签,count是一个使用相同参数的FETCH命令会返回的行数(可能为零)。