程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> oracle11g-oracle關於序列的nextval取值

oracle11g-oracle關於序列的nextval取值

編輯:編程解疑
oracle關於序列的nextval取值

創建序列
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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved