Oracle设置主键自增长

时间:2022-03-14 13:39:31

由于Oracle不能像SQL Server一样直接设置主键自增长,所以要实现Oracle自增长需要做以下步骤:

Step1:创建表USER(任意命名)

create table if not exsists USER
(
       id int PRIMARY KEY,
       name varchar2(20),
       username varchar2(20),
       sex varchar2(2),
       age int
);

Step2:创建序列SEQ_USER_ID

create sequence SEQ_USER_ID
    minvalue 1      --最小值
    start with 1     --开始值
    increment by 1     --增长值 
    nocycle       
    nocache; 

Step3:创建触发器TRIGGER_USER执行序列

CREATE OR REPLACE TRIGGER TRIGGER_USER
BEFORE INSERT ON USER FOR EACH ROW WHEN (new.id is null)
begin
select SEQ_USER_ID.nextval into:new.id from dual;
end;

这三个步骤完成之后,就可以尝试插入数据进行测试:

insert into USER(name,username,sex,age) values('张三','user1','',25) ;

执行结果:表中生成一条数据。