首先創建sequence:
create sequence TEST_SEQ //序列名(TEST_SEQ 為序列名,自定義命名)
increment by 1 //每次增加1
start with 1 //從1開始
minvalue 1 //最小值1
nomaxvalue //沒有最大值 或者 maxvalue 99999999999999999
nocache //沒有緩存序列 或者 cache 20 緩存20個
select TEST_SEQ.currval from dual; //查詢當前的序列值
select TEST_SEQ.nextval from dual; //查詢下一個序列值
假設表名為orcl_test
方法一:自動獲取自增主鍵
INSERT INTO orcl_test VALUES(TEST_SEQ.nextval , '小明','xiaoming',.....) //直接在主鍵自增列上用TEST_SEQ.nextval 來獲取值就行
方法二:使用觸發器
create or replace trigger test_trigger //(test_trigger) 觸發器名稱
before insert
on orcl_test //(orcl_test)表名稱
for each row // for each row : 對表的每一行觸發器執行一次
begin
select TEST_SEQ.nextval into :new.id from dual; // (new.id)new 等於新插入的一行, id 是orcl_test 表要實現自增的主鍵列
end;