1.创建序列 ( sequence )
序列用于生产唯一、连续序号的对象
序列可以是升序、也可以是降序
2.创建序列语法
CREATE SEQUENCE [schema.]sequence_name
[INCREMENT BY integer]
[START WITH integer]
[MAXVALUE integer | NOMAXVALUE]
[MINVALUE integer | NOMINVALUE]
[CYCLE | NOCYCLE]
[CACHE integer | NOCACHE]
[ORDER | NOORDER]
3. 关键字解析:
Increment by --指定序列值每次增长的值
Start with --指定序列的第一个值
Maxvalue --指定产生的序列的最大值
Minvalue --指定产生的序列的最小值
Cycle --指定当序列值逵到最大或最小值时,该序列是否循环.
Cache --指定序列生成器一次缓存的值的个数
Order --指定序列中的数值是否按访问顺序排序.
4. 通过序列的伪列来访问序列的值
nextval --返回序列的下一个值
select sequence_name.nextval from dual; --指定下一个序列
currval --返回序列的当前值
select sequence_name.currval from dual; --检索序列的当前值
5.修改序列
注意:不能修改序列的 start with 参数
alter sequence seq_name maxvalue 5000 cycle;
6. 删除序列
drop sequence seq_name;
例: 1) create sequence myseq
increment by 4
start with 50
maxvalue 60
minvalue 50
cycle
cache 3;
例: 2) create sequence new_s;
用建好的序列插入数据:
insert into new (new_id,last_name,first_name)values(new_s.nextval,’daur’,’permit’);