我新建的表,如下
我的序列是
CREATE SEQUENCE "WOSTORE"."SEQ_TABLE0531" MINVALUE 1 MAXVALUE 999999999999 INCREMENT BY 3 START WITH 65 CACHE 20 NOORDER NOCYCLE ;
我的触发器是:
create or replace trigger TABLE0531_TRG_ID
before insert on "WOSTORE"."TABLE0531"
for each row
begin
if inserting then
if :NEW."TABLE_ID" is null then
select SEQ_TABLE0531.nextval into :NEW."TABLE_ID" from dual;
end if;
end if;
end;
所以在执行下面的的SQL 插入语句时 ,就实现了主键自增的目的
insert into table0531 (table_id,name)values(NULL,'小刘1'); --逐渐序列自增间隔为3
注:最好不要使用触发器,不便于团队维护,应该越简单越好,但是我还没有找到不适用触发器让主键自增