天天看點

18.序列

一、建立預設序列

create sequence myseq;
           

二、建立含有步長和起始值的序列

create sequence myseq increment by 1 start with 0;
           

三、使用序列的nextval屬性

insert into mydept values(myseq.nextval,'系統軟體部');
           

四、删除序列

drop sequence myseq;
           

五、修改序列

alter sequence myseq increment by 2;
           

六、建立表時使用自動序列

6.1 先建立一個表

create table mydept(deptnum number,dname varchar2(20)); 
           

6.2 為deptnum列建立序列

create sequence deptnum_seq increment by 1 start with 0;
           

6.3 為該表建立觸發器

create or replace trigger mydept_trigger 
before
insert on mydept
for each row
begin
select deptnum_seq.nextval into :New.deptnum from dual;
end;
           

6.4 插入資料進行驗證

insert into mydept (dname) values ('系統軟體部');
           

七、建立表時使用自動序列(oracle 12c以後的版本支援)

create table mydept(deptno number generated by default as identity ( start with 1 increment by 1),dname varchar2(20)); 
           

繼續閱讀