--創建sequence
CREATE SEQUENCE test_sequence
INCREMENT BY 1 -- 每次加幾個
START WITH 1 -- 從1開始計數
NOMAXVALUE -- 不設置最大值
NOCYCLE -- 一直累加,不循環
CACHE 10 ;
創建觸發器代碼:
create or replace trigger tri_test_id
before insert on test --test 是表名
for each row
declare
nextid number;
begin
IF :new.id IS NULLor :new.id=0 THEN --id是列名
select test_sequence.nextval --SEQ_ID正是剛纔創建的
into nextid
from sys.dual;
:new.id:=nextid;
end if;
end tri_test_id;