MOVE
功能描述
MOVE在不检索数据的情况下重新定位一个游标。MOVE的作用类似于FETCH命令,但只是重定位游标而不返回行。
注意事项
无。
语法格式
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、创建表reason_t2。
CREATE TABLE reason_t2 ( r_reason_sk integer, r_reason_id character(16), r_reason_desc character(100) );
2、向表中插入一条记录。
INSERT INTO reason_t2(r_reason_sk, r_reason_id, r_reason_desc) VALUES (1, 'AAAAAAAABAAAAAAA', 'reason1'); INSERT INTO reason_t2 VALUES (2, 'AAAAAAAABAAAAAAA', 'reason2'); INSERT INTO reason_t2 VALUES (3, 'AAAAAAAACAAAAAAA','reason3'),(4, 'AAAAAAAADAAAAAAA', 'reason4'),(5, 'AAAAAAAAEAAAAAAA','reason5');
示例:
1、开始一个事务。
START TRANSACTION;
2、定义一个名为cursor1的游标。
CURSOR cursor1 FOR SELECT * FROM reason_t2;
3、忽略游标cursor1的前2行。
MOVE FORWARD 2 FROM cursor1;
4、抓取游标cursor1的前4行。
FETCH 4 FROM cursor1;
结果显示为:
r_reason_sk | r_reason_id | r_reason_ desc -------------+------------------+----------------------------------------------------- ------------------------------------------------- 3 | AAAAAAAACAAAAAAA | reason3 4 | AAAAAAAADAAAAAAA | reason4 5 | AAAAAAAAEAAAAAAA | reason5 (3 rows)
5、关闭游标。
CLOSE cursor1;
6、结束一个事务。
END;
相关链接