因为不像MYSQL等数据库有自增的设置,oracle通常是用seqence来实现。先通过create sequence语句创建sequence,然后用select sequence.nextval from dual取值。其实在建表DDL的时候就可以将字段的自增设置好,方法就是把创建sequence语句中的部分内容写到字段的定义中,oracle会自动生成对应的sequence。在字段的默认值中可以看到该sequence的应用。
以字段ID为例,具体说明如下:
ID Number(5,0) Generated Always as identity minvalue 1 maxvalue 99999 increment by 1 start with 1 cache 20 nocycle not null enable
通过这种方式实现自增的效果,实际上也是创建了一个以ISEQ$$_XXXX形式命名的Sequence。