更新时间:2024-08-20 GMT+08:00
MOVE
功能描述
MOVE在不检索数据的情况下重新定位一个游标。MOVE的作用类似于FETCH命令,区别是MOVE只重定位游标而不返回行。
语法格式
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的参数说明。
成功完成时,MOVE命令将返回一个“MOVE count”的标签,count是一个使用相同参数的FETCH命令会返回的行数(可能为零)。
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
--建表并插入数据。 gaussdb=# CREATE TABLE tbl_test(c1 int); gaussdb=# INSERT INTO tbl_test VALUES (generate_series(1,20)); --建立一个名为cursor1的游标。 gaussdb=# BEGIN; gaussdb=# CURSOR cursor1 FOR SELECT * FROM tbl_test ORDER BY 1; --使用MOVE命令使游标向后移动5行,不返回结果。 gaussdb=# MOVE FORWARD 5 FROM cursor1; MOVE 5 --使用FETCH命令检索两行数据。 gaussdb=# FETCH FORWARD 2 FROM cursor1; c1 ---- 6 7 (2 rows) --关闭游标并结束事务。 gaussdb=# CLOSE cursor1; gaussdb=# END; --删除。 gaussdb=# DROP TABLE tbl_test; |
父主题: M