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

如何对oracle数据库中的表设置主键自增?

2015-01-10 00:00 232 查看
oracle中没有自增字段,可通过序列+触发器间接实现,cmd中sqlplus登录,直接运行即可。一般要经过一下几步:
1建立数据表



create table Test_Increase(
userid number(10) primary key, /*主键,自动增加*/
username varchar2(20)
);

2创建自动增长序列

CREATE
SEQUENCE TestIncrease_Sequence
INCREMENT
BY

1

--
每次加几个

START
WITH

1

--
从1开始计数

NOMAXVALUE
--
不设置最大值

NOCYCLE
--
一直累加,不循环

CACHE
10
;

3创建触发器

CREATE

TRIGGER
Test_Increase BEFORE

insert

ON
Test_Increase
FOR
EACH ROW

begin

select
TestIncrease_Sequence.nextval
into
:New.userid
from
dual;

end
;

4 提交
commit;
5 测试
反复执行如下语句:

insert

into
Test_Increase(Username)
values
(
'
test
'
)

6 查看插入结果:
userid username
1 test
2 test
3 test
4 test
5 test
6 test
7 test
8 test
9 test
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库