您的位置:首页 > 数据库 > Oracle

oracle实现主键自动增

2017-03-06 15:57 375 查看
oracle主键的自动增长不像mysql能通过auto_increment来指定,也像sql_server通过identity(1,1)就能实现从1开始,以+1的方式实现主键的自动增长。

而要通过sequence和触发器共同协作来实现主键的自动增长。

例子:

创建表:

create table student (

       id int not null primary key,

       name varchar(30),

       birth date,

       score number(5,2)   
);

创建sequence:

create sequence seq_student

minvalue 1

maxvalue 99999

start with 1

increment by 1

nocache;

创建trigger:

create or replace trigger insert_on_student_trit

before insert on student

for each row

begin select seq_student.nextval into:new.id from dual;

end insert_on_student_tri;

插入数据测试:

insert into student(name,birth,score) values('李四',to_date('20150209','yyyymmdd'),88);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: