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  --删除序列

猜你喜欢

转载自blog.csdn.net/qq_36986305/article/details/81069534
今日推荐