Oracle数据库中如何设置主键自增策略

在oracle数据库中设置逐渐自增策略的方式有两种:

建表:

create table stu(
       sid int primary key,
       sname varchar(10),
       sex int
)

1.使用序列实现自增

(1)创建序列

create sequence SEQ_Userinf 
minvalue 1        --最小值
nomaxvalue        --不设置最大值
start with 1      --从1开始计数
increment by 1    --每次加1个
nocycle           --一直累加,不循环
nocache;          --不建缓冲区
create sequence sid_sequence
       minvalue 1
       nomaxvalue
       start with 1
       increment by 1
       nocycle

(2)插入数据

insert into test values (sid_sequence.nextval,'张三丰',1);   --实现自增

2.创建触发器实现自增

(1)创建触发器

create or replace trigger stu_sid_trigger before insert on stu for each row when(new.sid is null)  
  begin  
    select sid_sequence.nextval into:new.sid from dual;  
  end;  

(2)插入数据

insert into stu(sname,sex) values('王五',1)


你可能感兴趣的:(oracle)