Oracle 實現數據表插入時主鍵列自增


首先創建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;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM