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.查看表中的数据