使用 NEXTVAL

要首次访问序列,在您可引用 sequence.CURRVAL 之前,你必须引用 sequence.NEXTVAL。第一个对 NEXTVAL 的引用返回该序列的初始值。对 NEXTVAL 的每一后续的引用,都按照定义的 step 来增加该序列的值,并返回该序列的新的增加的值。

在单个 SQL 语句之内,您可对给定的序列仅增加一次。即使您在单个语句之内指定 sequence.NEXTVAL 多次,该序列也仅增加一次,因此,在同一 SQL 语句中 sequence.NEXTVAL 的每次发生都返回相同的值。

除了在同一语句之内多次发生的情况之外,每个 sequence.NEXTVAL 表达式增加该 sequence,不管您随后是提交还是回滚当前事务。

如果您在最终回滚了的事务中指定 sequence.NEXTVAL,则可能跳过某些序列编号。