>데이터 베이스 >MySQL 튜토리얼 >oracle如何实现插如记录时ID自增

oracle如何实现插如记录时ID自增

WBOY
WBOY원래의
2016-06-07 15:19:061248검색

sql server中的ID是系统设定的,当我们插入数据时他会自己增加,但oracle没有,需要我们自己添加字段ID,由于ID设置成NOT NULL,插入数据库时就会失败,这样就需要插入数据库时实现这条记录ID自己自动增加,自己搜了一下,具体方法如下 假如将表li_line_fence

sql server中的ID是系统设定的,当我们插入数据时他会自己增加,但oracle没有,需要我们自己添加字段ID,由于ID设置成NOT NULL,插入数据库时就会失败,这样就需要插入数据库时实现这条记录ID自己自动增加,自己搜了一下,具体方法如下

假如将表li_line_fence的fenceid字段设置成了ID,那么就需要插入记录时自增

1.首先建立一个序列:

create  sequence seq_atable minvalue 1 maxvalue 9999999 start with 1 increment by 1 nocache
2.建立一个触发器:
create or replace trigger trg_atable before insert on li_line_fence for each row
begin
   select seq_atable.nextval into :new.fenceid from dual;
end;
这个触发器是对inset动作的触发,into后面的new.fenceid是向新记录的fenceid字段自动按照序列中定义的插入值,这样就自动的插入值了

oracle如何实现插如记录时ID自增
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:ARC指南2다음 기사:Sqlserver 游标 慢