1. 程式人生 > >Oracle中的Sequence

Oracle中的Sequence

Sequence是資料庫系統按照一定的規則自動增加的數字序列,主要用於生成資料庫資料記錄。這個序列一般作為代理主鍵(因為不會重複)。


新建Sequence:

-- create sequence 
create sequence SEQ_sailingTest           
minvalue 1                                
maxvalue 9999999                       
start with 1                             
increment by 1                            --遞增間隔
cache 20;                                 --nocache

表中插入資料使用Sequence:

--SEQ.nextval,SEQ.currval
insert into sailing_test(id,name) values (SEQ_sailingTest.nextval,sailing);
--currVal:返回 sequence的當前值 
--nextVal:  增加sequence的值,然後返回 增加後sequence值

修改/刪除sequence:

--alert sequence:
alert sequence SEQ_sailingTest           
minvalue 1                                
maxvalue 100000                       
start with 99                             
increment by 2                            --遞增間隔
nocache;

--drop sequence:
drop sequence SEQ_sailingTest;

查詢sequence:

--查詢當前使用者的序列
select * from user_sequences

--查詢所有的序列
select * from all_sequences

--模糊查詢某序列
elect * from user_sequences  where  sequence_name like '%sailingTest%'