Oracle 数据库实现自增长列

2014-11-24 09:08:45 · 作者: · 浏览: 0

SqlServer MySql都有自增长的功能,而Oracle必须接结合sequence序列(一般用于主键列),并使用触发器才能够实现自动增长,具体步骤如下:

一、 建表

create table listid number,name varchar2(50);

二、 创建序列

1. create sequence list_seq

2. minvalue 1

3. maxvalue 99999999999999

4. start with 1

5. increment by 1

6. cache 20

7. order;

三、 创建触发器

1. Create or replace trigger list_tg

2. Before insert on list

3. For each row

4. Begin

5. Select list_seq.nextval into :new.id from dual;

6. End;

四、 插入数据

Insert into list values(’’,’aaa’);

Insert into list values(’’,’bbb’);

Select * from list ;

结果为:

ID name

1 aaa

2 bbb

Oracle 10g em 操作界面按照上图配置即可实现自增长序列,数据库端设置完成;

在插入数据时自增长字段可由空值’ ’null代替,如果insert 语句中列出了所插入的字段,如insert into list(name) values(’aaa’),则增长字段不用写 ;如模板所示为一简单的表单,ID字段绑定数据库中的自增长列,BS填报时,id字段不输入若输入任意数字时,数据库中都按照自增长的规律进行赋值,如下图所示:


文章转自:http://blog.vsharing.com/fanfanzheng/A1463308.html