oracle实现主键自增



由于ORACLE设置主键是不会自动增加的,所以必须用 序列 和 触发器 来完成主键的递增

1、建立数据表

  


create table Test_Increase(

           userid number(10) primary key,  /*建立主键*/

           username varchar2(20)

           );


2、创建自动增长序列



oracle实现主键自增_oracle

 CREATE SEQUENCE TestIncrease_Sequence

 INCREMENT BY 1   -- 每次加几个  

     START WITH 1     -- 从1开始计数  

     NOMAXVALUE       -- 不设置最大值  

     NOCYCLE          -- 一直累加,不循环  

     CACHE 10; 

oracle实现主键自增_oracle


3、创建触发器



oracle实现主键自增_oracle

CREATE TRIGGER Test_Increase BEFORE

insert ON  Test_Increase FOR EACH ROW

begin

select TestIncrease_Sequence.nextval into:New.userid from dual;


end;

oracle实现主键自增_oracle


执行上面3步语句


完成!



由于ORACLE设置主键是不会自动增加的,所以必须用 序列 和 触发器 来完成主键的递增

1、建立数据表

  


create table Test_Increase(

           userid number(10) primary key,  /*建立主键*/

           username varchar2(20)

           );


2、创建自动增长序列



oracle实现主键自增_oracle

 CREATE SEQUENCE TestIncrease_Sequence

 INCREMENT BY 1   -- 每次加几个  

     START WITH 1     -- 从1开始计数  

     NOMAXVALUE       -- 不设置最大值  

     NOCYCLE          -- 一直累加,不循环  

     CACHE 10; 

oracle实现主键自增_oracle


3、创建触发器



oracle实现主键自增_oracle

CREATE TRIGGER Test_Increase BEFORE

insert ON  Test_Increase FOR EACH ROW

begin

select TestIncrease_Sequence.nextval into:New.userid from dual;


end;

oracle实现主键自增_oracle


执行上面3步语句


完成!