选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

文档 / SQL 命令 / 游标与预备语句

SQL COMMAND · 游标与预备语句

MOVE

定位游标

MOVE游标与预备语句引入 10(基线)现存至 20 devel1 次语法变更

动词
MOVE
对象
引入版本
10(基线)
状态
现存
语法变更次数
1
手册小节数
5

本站手册 · 18官方文档 ↗

版本轨迹

相对 PostgreSQL 17 无变化。

语法铁道图 PostgreSQL 18

沿轨道从左向右阅读,分岔表示选择,绕行表示可选,回环表示重复。方框为参数,点击带下划线的参数可展开子规则。

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 [ 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

PostgreSQL 18 手册 · 查看完整参考页

描述

MOVE在不检索任何数据的情况下重新定位游标。 MOVEFETCH命令的工作方式完全相同, 只是它只定位游标而不返回行。

MOVE命令的参数与FETCH命令完全相同; 有关语法和用法的细节,请参阅FETCH

输出

成功完成时,MOVE命令会返回如下形式的命令标签:

MOVE count

其中count是用相同参数执行 FETCH命令时本应返回的行数(可能为零)。

示例

BEGIN WORK;
DECLARE liahona CURSOR FOR SELECT * FROM films;

-- 跳过前 5 行:
MOVE FORWARD 5 IN liahona;
MOVE 5

-- 从游标 liahona 中提取第 6 行:
FETCH 1 FROM liahona;
 code  | title  | did | date_prod  |  kind  |  len
-------+--------+-----+------------+--------+-------
 P_303 | 48 Hrs | 103 | 1982-10-22 | Action | 01:37
(1 row)

-- 关闭游标 liahona 并结束事务:
CLOSE liahona;
COMMIT WORK;

兼容性

SQL 标准中没有MOVE语句。

另见

语法演化

相邻大版本之间的差异,新的在前。版本号链接到对应快照。

  1. PostgreSQL 11← 10语法变化

    + 其中 direction 可以是以下之一:− 其中direction为以下之一:

同组命令

命令动词对象版本变动最近变更
CURSORS & PREPARED STATEMENTS游标与预备语句7 条
CLOSECLOSE
关闭一个游标现存
DEALLOCATEDEALLOCATE
释放一个预备语句现存
DECLAREDECLARE 141 次
定义一个游标现存
EXECUTEEXECUTE
执行一个预备语句现存
FETCHFETCH 111 次
使用游标从查询中检索行现存
MOVEMOVE 111 次
定位游标现存
PREPAREPREPARE
为执行准备一个语句现存