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