NEXTVAL
返回序列中的下一个值。创建序列并使用默认值初始化后,调用 NEXTVAL。接下来,调用 NEXTVAL 增加序列值,进行升序排列,或减少值,进行降序排列。
语法
NEXTVAL ('[[database.]schema.]sequence')
参数
-
[database.]schema
数据库和架构。默认架构为
public
。如果指定一个数据库,它必须是当前数据库。-
序列
- 确定目标序列
特权
-
对序列的 SELECT 权限
-
对序列架构的 USAGE 权限
限制
在以下情况下,不能在 SELECT 语句中调用 NEXTVAL:
-
WHERE 子句
-
GROUP BY 子句
-
ORDER BY 子句
-
DISTINCT 子句
-
UNION
-
子查询
也不能调用 NEXTVAL 处理以下项中的序列:
-
UPDATE 或 DELETE 子查询
-
视图
您可以使用子查询解决部分限制。例如,要将序列与 DISTINCT 使用使用:
=> SELECT t.col1, shift_allocation_seq.NEXTVAL FROM (
SELECT DISTINCT col1 FROM av_temp1) t;
示例
请参阅创建和使用命名序列。