oracle 數(shù)據(jù)庫(kù)主鍵自動(dòng)增長(zhǎng)方法
oracle 數(shù)據(jù)庫(kù)沒有像 MYSQL一樣有 自動(dòng)ID增值 的功能,如要實(shí)現(xiàn)可以用觸發(fā)器。
首先就是建立一個(gè)序列,序列有有自動(dòng)增值的功能,再建立一個(gè)觸發(fā)器。
如:
建立一個(gè)序列
CREATE SEQUENCE auto_seq
minvalue 1 -- 最小值
increment by 1 -- 每次增加值數(shù)
nocache -- 不啟用緩存
nocycle -- 不循環(huán);
建立一個(gè)觸發(fā)器
CREATE OR REPLACE trigger auto_id_tri
before insert on pjsh_person -- before 表示插入新數(shù)據(jù)時(shí)執(zhí)行
for each row -- 每次插入數(shù)據(jù)到pjsh_person表時(shí)執(zhí)行下面的oracle 語(yǔ)句
begin
select auto_seq.nextval into :NEW.ID from dual;
end;
auto_id_tri 觸發(fā)器名
auto_seq.nextval 提取auto_seq 序列的值
:NEW.ID? ID為要添加的主鍵列名
pjsh_person 要添加自動(dòng)ID值的表名。