1. 程式人生 > >oracle 實現自增 建立、刪除觸發器 序列

oracle 實現自增 建立、刪除觸發器 序列

select * from YLXZ_PERSON
insert into YLXZ_PERSON(name) VALUES('噓噓')
DELETE from YLXZ_PERSON where name ='噓噓'
update YLXZ_PERSON set id=NULL

//建立序列

CREATE SEQUENCE PERSON_sequence
INCREMENT BY 1 -- 每次加幾個
START WITH 36 -- 從1開始計數
NOMAXVALUE -- 不設定最大值
NOCYCLE -- 一直累加,不迴圈
NOCACHE -- 不建緩衝區

//建立觸發器

CREATE TRIGGER PERSON_trigger
   BEFORE INSERT ON YLXZ_PERSON
   FOR EACH ROW
   WHEN (new.id is null) --只有在id為空時,啟動該觸發器生成id號
begin
   select PERSON_sequence.nextval into :new.id from sys.dual;
end;

DROP TRIGGER PERSON_trigger  --刪除觸發器
DROP SEQUENCE PERSON_sequence  --刪除序列