oracle 數(shù)據(jù)庫主鍵自動增長方法
oracle 數(shù)據(jù)庫沒有像 MYSQL一樣有 自動ID增值 的功能,如要實現(xiàn)可以用觸發(fā)器。
首先就是建立一個序列,序列有有自動增值的功能,再建立一個觸發(fā)器。
如:
建立一個序列
CREATE SEQUENCE auto_seq
minvalue 1 -- 最小值
increment by 1 -- 每次增加值數(shù)
nocache -- 不啟用緩存
nocycle -- 不循環(huán);
建立一個觸發(fā)器
CREATE OR REPLACE trigger auto_id_tri
before insert on pjsh_person -- before 表示插入新數(shù)據(jù)時執(zhí)行
for each row -- 每次插入數(shù)據(jù)到pjsh_person表時執(zhí)行下面的oracle 語句
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 要添加自動ID值的表名。