oracle不能实现字段数值的自增长。可以通过序列和触发器来实现一行数据在insert前实现某字段的自增。
首先随便建立一个表,student是需要自增的字段
create table student(
ID number() not null primary key,
NAME varchar2(40) not null,
然后建立一个序列,最小值是minvalue,从1开始,步进为1递增,无循环,无缓存。
create sequence student_autoinc_seq
minvalue 1
start with 1
increment by 1
nocycle
然后建立一个触发器,在插入tun_menu表之前触发,选取序列的nextval作为新值。
create or replace trigger student_autoinc_tg
before insert on student for each row
begin
select student_autoinc_seq.nextval into :new.id from dual;
end student_autoinc_tg ;