oracle实现自增id相对于sqlserver来说要麻烦一些,下面是具体实现步骤:
1、自定义一个序列(sequence):
CREATE SEQUENCE increment_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
NOCACHE -- 不建缓冲区
2、创建一个触发器:(以表 example 为例)
CREATE TRIGGER example_trigger BEFORE
INSERT ON example FOR EACH ROW WHEN (new.id is null)--只有在id为空时,启动该触发器生成id号
begin
select increment_sequence.nextval into: new.id from dual;
end;