創建序列
create sequence a
increament by 1
start with 1
maxvalue 100
nocycle
cache 10;
如果往空表中直接插入數據,取a.nextval為id的話,查詢結果id會從2開始!如果不是從空表插入數據就會從1開始!這是什麼原因??請指教
例如:
create table stu(
id number,
name varchar2(10)
);
直接往裡面插入數據:insert into stu values(a.nextval,'link');
id會從2開始(注意這是從空表中插入了數據)
要是原來的表中插入了一條數據,id則從1開始的。(在這之前,我把表和序列都重建了)
insert into stu values(12,'d');
insert into stu values(a.nextval,'link');
nextval這個函數是序列裡去下一個值的,你設置的從1開始,如果你用了nextval,生成的就是下一個產生的值,如果你設置值的間距是1的話,你用完就產生的是2,如果不用就產生當前的值,就是1