FETCH
是一个用于从先前定义的游标中检索行的实用程序命令。
FETCH
一直存在于 PostgreSQL 中。
不要将 FETCH
游标命令与 PostgreSQL 13 中添加的 SELECT
语句的 FETCH { FIRST | NEXT } [ n ] { ROW | ROWS }
语法混淆。
更改历史记录
开发中
- PostgreSQL 9.0
FROM
和IN
关键字变为可选(提交 2ea179f3)
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