Oracle的主键id自增

Oracle的主键id自增

可以直接用序列加触发器的方式实现

首先表里面要有个主键,没有的话用语句或者在编译器中加一下,都可以

然后创建一个序列,一般来说最常用的有这几个参数

CREATE SEQUENCE SEQ_a                 --序列名字
INCREMENT BY 1                        --每次自增1,也可写非0的任何整数
START WITH 1489681                    --以该值开始自增或自减
NOMAXVALUE(正常可以用MAXVALUE 1)      --最大值;设置NOMAXVALUE表示无最大值
NOMINVALUE(正常可以用MINVALUE 1)      --最小值;设置NOMINVALUE表示无最大值

在PL/SQL中执行完可以按住Ctrl点击名字进界面,里面有很多内容,不用多说应该也能看得懂

image

那个序列要怎么使用呢

直接使用,序列名字.nextval,可以直接取到自增的数值

然后就是制作一个触发器用以id的自增

create or replace trigger ins_a_certid
before insert on a  /*触发条件:当向表执行插入操作时触发此触发器*/    
 for each row     /*对每一行都检测是否触发*/    
begin  
/*从序列中取自增的数代替新的id*/ 
select  SEQ_a.nextval into :new.id from dual;   
   
end;

以上

posted @ 2022-11-11 11:11  DbWong_0918  阅读(1471)  评论(0编辑  收藏  举报