在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方;Oracle的序列(SEQUENCE)类似SQLServer中的自动增长列,用来生成唯一,连续的整数的数据库对象,序列通常用来生成主键或唯一值,并且可以排序。
2、语法CREATE SEQUENCE sequence_name
INCREMENT BY 1 --每次加几个 默认 1
START WITH 1 --从 1 开始计数 默认 1
[MAXVALUE 值|NOMAXVALUE] --设置最大值 默认最大 10E27
[MINVALUE 值|NOMINVALUE] --设置最小值 默认最小-10E26
[CYCLE|NOCYCLE] --一直累加,不循环
[CACHE 10|NoCYCLE] --使序列号预分配
[Order|NoOrder 默认]
eg:
CREATE SEQUENCE seq_test
INCREMENT BY 1 --每次加几个
START WITH 1 --从1开始计数
NOMAXVALUE --不设置最大值
NOCYCLE --一直累加,不循环
CACHE 10 --使序列号预分配10个数,默认NOCACHE
3、访问序列的值NEXTVAL:返回序列的下一个值
CURRVAL:返回序列的当前值
select 序列.nextval from dual
select 序列.currval from dual
select seq_test.nextval from dual
select seq_test.currval from dual
4、使用insert into 表名(自动增长的字段) values (序列名称.nextval)
5、修改alter sequence 序列名称 increment by 2;
alter sequence seq_test increment by 2;
每次加2
1)不能修改序列的初始值
2)序列的最小值不能大于当前值
3)序列的最大值不能小于当前值
5、删除序列drop sequence 序列名称
表分区 1、概述