如何对oracle数据库中的表设置主键自增?
2015-01-10 00:00
232 查看
oracle中没有自增字段,可通过序列+触发器间接实现,cmd中sqlplus登录,直接运行即可。一般要经过一下几步:
1建立数据表
![](http://static.oschina.net/uploads/img/201501/10135753_CvY9.gif)
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
1建立数据表
![](http://static.oschina.net/uploads/img/201501/10135753_CvY9.gif)
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
相关文章推荐
- 如何对oracle数据库中的表设置主键自增?
- 如何对oracle数据库中的表设置主键自增?
- 如何对oracle数据库中的表设置主键自增?
- 如何对oracle数据库中的表设置主键自增?
- 2017年2月21日 Oracle数据库,怎么设置表中主键的自增
- oracle数据库中的表设置主键自增
- 对oracle数据库中的表设置主键自增
- powerdesigner中如何为主键设置为自动增加
- 使用pl/sql的文本导入器时如何设置主键自增长
- mysql自增主键在大量删除后如何重新设置避免断层
- HIbernate如何设置主键生成器
- 如何在oracle数据库中设置自动增长的id字段
- 数据中如何设置双主键
- Hibernate如何通过注解设置主键为一个UUID随机数
- 更新oracle数据库表如何实现主键自增长
- oracle中如何设置主键并且让其自动增长
- 如何设置自增主键列(历史遗留问题解决)
- 如何为远程oracle数据库设置监听程序
- 设置Oracle的bash环境及字符集、如何查看Oracle数据库的状态
- 熟悉Access2013的基本操作(*如何设置两个主键)