currval()

返回序列中当前值的函数

currval() 是一个返回序列中当前值的系统函数。

currval()PostgreSQL 6.1 中添加。

用法

currval ( regclass ) → bigint

currval() 返回在当前会话中,最近通过 nextval() 获取的此序列的值。

如果在当前会话中尚未对该序列执行 nextval(),则会引发错误。

更改历史记录

示例

currval() 的基本用法示例

postgres=# CREATE SEQUENCE foo_seq;
CREATE SEQUENCE

postgres=# SELECT nextval('foo_seq');
 nextval
---------
       1
(1 row)

postgres=# SELECT currval('foo_seq');
 currval
---------
       1
(1 row)

如果在当前会话中未调用 nextval(),则会引发错误

postgres=# SELECT currval('foo_seq');
ERROR:  currval of sequence "foo_seq" is not yet defined in this session

postgres=# SELECT nextval('foo_seq');
 nextval
---------
       2
(1 row)

postgres=# SELECT currval('foo_seq');
 currval
---------
       2
(1 row)

分类

序列系统函数

另请参阅

lastval()nextval()setval()

反馈

提交任何关于 "currval()" 的评论、建议或更正 此处