序列(Sequence)是一種可以被多個用戶使用的用于產(chǎn)生一系列唯一數(shù)字的數(shù)據(jù)庫對象。序列定義存儲在數(shù)據(jù)字典中炉奴,通過提供唯一數(shù)值的順序表來簡化程序設(shè)計工作,可以使用序列自動產(chǎn)生主鍵的鍵值蛇更。當一個序列第一次被查詢調(diào)用時瞻赶,它將返回一個預(yù)定值赛糟。在隨后的每次查詢中,序列將產(chǎn)生一個按指定的增量增長的值砸逊。序列可以循環(huán)璧南,或者是連續(xù)增加的,直到指定的最大值為止师逸。 序列創(chuàng)建之后整個數(shù)據(jù)庫可以共享這個序列司倚。默認自增長的最大值為10的28次方。
--創(chuàng)建序列語法:
CREATE SEQUENCE sequence? //創(chuàng)建序列名稱
? ? ? [INCREMENT BY n]? //遞增的序列值是n 如果n是正數(shù)就遞增,如果是負數(shù)就遞減 默認是1
? ? ? [START WITH n]? ? //開始的值,遞增默認是minvalue 遞減是maxvalue
? ? ? [{MAXVALUE n | NOMAXVALUE}] //最大值
? ? ? [{MINVALUE n | NOMINVALUE}] //最小值
? ? ? [{CYCLE | NOCYCLE}] //循環(huán)/不循環(huán)
? ? ? [{CACHE n | NOCACHE}];//分配并存入到內(nèi)存中
--創(chuàng)建案例:
--創(chuàng)建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)
);
--插入數(shù)據(jù) :
insert into as values(seq_on_as.nextval,'A');
2篓像、查看已創(chuàng)建的序列
執(zhí)行如下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'员辩;
特別注意:序列名區(qū)分大小寫盒粮!