--建立索引
create sequence seq_test;
--插入資料
insert into s_emp(id,last_name) values(seq_test.nextval,'huaan');
先建立序列,再插入資料,正常的情況下不會有問題,但是報錯了:
然後去查了下,據說是在建表的時候已經插入了部分資料,導致sequence的開始自增序列不為當前id最大值。
所以要重新設定sequence的自增起始值。也就是重新建立序列。
--刪除索引
drop sequence seq_test;
--重新建立索引
create sequence seq_test
increment by 1
--此處需要去檢視表中id最大值,由於我的表中有25條資料,所以從26開始。
start with 26
nomaxvalue
nocycle
cache 10;
然後繼續插入資料就沒有問題了。
可以推理出乙個問題---建立序列應該最好在建立表之後,插入資料之前。
如果有錯歡迎指正,侵刪。。。。。
Oracle建立序列
序列的優點 1 自動的產生唯一的資料 2 產生唯一的值,用於填充主鍵 3 可以在memory中進行快取 建立序列 create sequence increment by n 間隔 start with n 起始位 maxvalue n nomaxvalue 最大值 無限大 minvalue n 最...
Oracle建立序列
所謂序列,在oracle中就是乙個物件,這個物件用來提供乙個有序的資料列,這個有序的資料列的值都不重複。1.序列可以自動生成唯一值 2.是乙個可以被共享的物件 3.典型的用來生成主鍵值的乙個物件 4.可以替代應用程式 5.當sequence的值存放在快取中時可以提高訪問效率。create seque...
Oracle 建立序列
概念 所謂序列,在oracle中就是乙個物件,這個物件用來提供乙個有序的資料列,這個有序的資料列的值都不重複。1.序列可以自動生成唯一值 2.是乙個可以被共享的物件 3.典型的用來生成主鍵值的乙個物件 4.可以替代應用程式 5.當sequence的值存放在快取中時可以提高訪問效率。建立序列語法 cr...