FETCH

从游标中检索行的 SQL 命令

FETCH 是一个用于从先前 声明 的游标中检索行的实用命令。

FETCH 命令一直存在于 PostgreSQL 中。

不要将 FETCH 游标命令与 PostgreSQL 13 中添加的 SELECT 语句的 FETCH { FIRST | NEXT } [ n ] { ROW | ROWS } 语法混淆。

变更历史

进行中

FETCH 命令存在于所有 PostgreSQL 版本中。

示例

FETCH 的基本用法示例

postgres=# BEGIN ;
BEGIN

postgres=*# DECLARE foo_cursor CURSOR
                FOR SELECT * FROM foo;
DECLARE CURSOR

postgres=*# FETCH 1 FROM foo_cursor;
 id |             val              
----+------------------------------
  1 | 2022-10-25 08:21:20.67438+01
(1 row)

尝试从不存在的游标中检索行

postgres=*# CLOSE foo_cursor ;
CLOSE CURSOR

postgres=*# FETCH 1 FROM foo_cursor;
ERROR:  cursor "foo_cursor" does not exist
  • PostgreSQL 文档: FETCH

分类

游标, SQL 命令

另请参阅

CLOSE, DECLARE, MOVE, cursor_tuple_fraction, pg_cursors

反馈

提交关于“FETCH”的任何评论、建议或更正,请在此处 提交