oracle建立自动增长字段

oracle数据库与其他的数据库不太一样,比如在mysql里自动增长只要设定“auto_increment”即可。可是在oracle里就没有这种配置了。以oracle11g为例,建立自动增长的字段。操作如下:

--创建表
create table USERINFO 
(    
ID       NUMBER ,    
USERNAME VARCHAR2(25) ,   
PASSWORD VARCHAR2(50) 
) ;

--创建序列
create sequence USERINFO_AUTOINC 
minvalue 1  
maxvalue 999999999999999999999999999 
start with 1
increment by 1 
nocache; 


--创建触发器
create or replace trigger insert_for_autoinc   
before insert on userinfo   
for each row 
begin    
select USERINFO_AUTOINC.nextval into :new.ID from dual; 
end insert_for_autoinc;    

--往表中插入数据
insert into userinfo(username,password) values('admin','123456');

--查询表数据
SELECT * FROM userinfo;

代码解读:

1.创建表,表中的ID字段,想实现自增长

2.创建序列,实现自增长数字

3.创建触发器,为了实现将序列的值,在新增数据时,把值赋给ID字段

4.往表中插入记录,此时不需要为ID字段赋值,因为第三步,触发器已经做了这个事情

5.查看表中的数据

你可能感兴趣的:(oracle,oracle,数据库,序列,触发器)