序列

可以理解成数组:默认,从[1]开始,长度[20] [1, 2, 3, 4, 5, 6, …, 20] 在内存中。

由于序列是被保存在内存中,访问内存的速率要高于访问硬盘的速率。所以序列可以提高效率。

序列:
1 序列的用处:
由于表的主键要求是非空且唯一的, 为了保证主键是非空和唯一的, 可以使用序列.

​ 2 创建序列

1
2
create sequence 序列名;
create sequence seq_mytest;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-- Create sequence 
create sequence 序列名
minvalue 最小值
maxvalue 最大值
start with 1 --开始值
increment by 1 --步长
cache 20; --容器大小

-- Create sequence
create sequence MYSEQ
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 20;

3 序列的属性

1
2
3
4
5
6
7
8
currval 和 nextval, 但是第一次使用的时候先要取nextval的值.

序列名.currval //获取当前序列
序列名.nextval //获取下一个序列

查看序列
select 序列名.currval from dual; --duan是伪表
select 序列名.nextval from dual;

4 删除序列

1
2
drop sequence 序列名;
drop sequence seq_mytest;

查看序列代码

1
edit 序列名

查看序列

1
select sequence_name from user_sequences;

查询序列的属性

1
select * from user_sequences;   			--user_sequences为数据字典视图。

查看序列属性

1
edit 序列名