Oracle中的序列化

Oracle不能像MySQL一样生成自动递增的列,这时就需要序列化,也就是说序列化在Oracle中的作用就是实现自增,其主要语句如下:

create sequence seq_user_id --定义序列名称
start with 1  --开始值  不写时默认为1
minvalue 1 --最小值  不写时默认为1  最小值不能大于开始值
maxvalue 9999  --最大值  不写默认27个9
increment by 1--设置增量 每次加1

最简单的实现序列化的语句为:

create sequence seq_user_id;

注意在使用序列化时,序列的名称不能与创建的表中的列名重复。
可以使用以下语句进行查询:

select seq_user_id.nextval from dual --查询下一个
select seq_user_id.currval from dual --查询当前的

在查询的时候,需要先查询下一个才能查询当前的,否则会报错。
使用创建的序列名称插入数据:

insert into user_tb values(1,'小李',18,'M')
insert into user_tb values(seq_user_id.nextval,'小周'20'F')

你可能感兴趣的:(oracle)