序列(Sequence)是一种可以被多个用户使用的用于产生一系列唯一数字的数据库对象。序列定义存储在数据字典中,通过提供唯一数值的顺序表来简化程序设计工作,可以使用序列自动产生主键的键值。当一个序列第一次被查询调用时,它将返回一个预定值。在随后的每次查询中,序列将产生一个按指定的增量增长的值。序列可以循环,或者是连续增加的,直到指定的最大值为止。 序列创建之后整个数据库可以共享这个序列。默认自增长的最大值为10的28次方。
--创建序列语法:
CREATE SEQUENCE sequence //创建序列名称
[INCREMENT BY n] //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1
[START WITH n] //开始的值,递增默认是minvalue 递减是maxvalue
[{MAXVALUE n | NOMAXVALUE}] //最大值
[{MINVALUE n | NOMINVALUE}] //最小值
[{CYCLE | NOCYCLE}] //循环/不循环
[{CACHE n | NOCACHE}];//分配并存入到内存中
--创建案例:
--创建sequence
create sequence seq_on_as
increment by 1
start with 1
nomaxvalue
nocycle
nocache;
--删表
drop table as;
--建表 :
create table as(
ID integer ,
stu_name varchar2(4)
);
--插入数据 :
insert into as values(seq_on_as.nextval,'A');
2、查看已创建的序列
执行如下sql,sql如下:
select * from user_sequences;
如果需要查看某个特定的序列,如下:
select * from user_sequences where sequence_name like '%T_SELL_BRAND%';
select * from user_sequences where sequence_name='SEQ_T_SELL_BRAND';
特别注意:序列名区分大小写!
网友评论