1.序列: sequence。
和mysql中使用auto_increment不同,oracle中使用序列来实现主键自增,使用序列前必须要先创建一个序列
create sequence seq_users 序列名称
increment by 1 每次增长多少
start with 1 从几开始
minvalue 1 最小值
maxvalue 999999999 最大值
cycle/no cycle 序列到达最大值之后怎么办,一般去cycle
cache 20 需要不需要使用缓存,就是一次生成多少个序列的值,如果生成了多个序列值,如果缓存中有数据, 就
不需要查询缓存了
order/noorder 获取序列的时候是否按顺序给值。如果多用户一起获取序列的值,使用order可以保证序列值的顺
序按访问序列的事件排序。
create sequence seq_users increment by 1 start with 1 minvalue 1 maxvalue 9999999 order cache 20 cycle;
注意:除了序列名称之外,其他参数都是可以省略的。
2.使用图形化界面也可以创建序列
3.序列相关使用
使用序列获取序列的下一个值:
select seq_users.nextval from dual;
dual是虚表的概念,用来凑语法的。
获取序列的当前值:
select seq_users.currval from dual;
插入数据的时候就可以使用这个序列了: