序列值操作
序列值发生器用于产生整数序列值,其产生的整数值按一定规律递增或递减,并保证在多用户并行调用时其产生的整数值不出现重复。序列值发生器的主要用途是:在多用户环境中,当各个用户或客户端程序需要用一个数值唯一标识某个记录或其它对象时,用户或客户端程序自身很难生成一个有序的且与其它用户或客户端程序生成的值不相同的整数值,因为,任何客户或应用程序皆无法预测别的用户或客户端程序将要产生的数值,只有集中产生的数据才能保证不出现重复,数据库应用程序的集中点显然是数据库服务端,因而,由数据库服务端产生唯一值数值是理所当然的。
创建序列值如下图所示:

下面重点讲解一下序列值的使用:
当创建序列值发生器之后,就可以在 DML 语句中使用它了,使用的方式为,将 SEQUENCE_NAME.NEXTVAL 作为一个值表达式运用到语句的各个表达式中,SEQUENCE_NAME.NEXTVAL 用于取得名为 SEQUENCE_NAME 的序列值的当前值,在取值的同时,将序列值的当前值修改为下一个产生值,整个过程在封锁下进行,是原子性的。INSERT INTO TEST VALUES(SEQ_1.NEXTVAL),这样就自动在表中插入一个连续自动增长的值。(对于 SEQUENCE 使用的函数在函数解析部分说明)。