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

转载 2013年12月04日 19:10:25

oracle中没有自增字段,可通过序列+触发器间接实现,cmd中sqlplus登录,直接运行即可。一般要经过一下几步:

1建立数据表


create table Test_Increase(
           userid 
number(10primary 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

相关文章推荐

ssm和ssh框架中,oracle数据库,表主键自增如何解决

ssh和ssm框架对于oracle数据主键自主如何处理

hibernate操作oracle数据库 主键自增

本篇文章基于http://blog.sina.com.cn/s/blog_6785747b0101blop.html 相信使用过mysql,sql server,oracle的朋友都知道,oracle...

Oracle数据库主键自增的两种方式(SEQUENCE和触发器)

这种语句是mybatis 逆向工程中mapper.xml已经生成好了。除非自己写的mapper可以用,逆向工程的最好不要修改。所以要想使用不带指定id自增的语句,就选择触发器来实现自增。...
  • shaoduo
  • shaoduo
  • 2017年04月28日 10:47
  • 309

mybatis操作oracle数据库主键自增(触发器)

上一篇文章介绍了hibernate 实现oracle主机自增的机制,本篇文章将研究mybatis 实现oracle主键自增的机制 首先我们看对于同一张student表,对于mysql,sql s...

ORACLE自增主键设置方法

  • 2013年07月01日 16:45
  • 3KB
  • 下载

oracle中设置自增主键(id)

  • 2011年06月11日 19:07
  • 40KB
  • 下载

oracle中设置自增主键

oracle中设置自增主键 http://www.c114.net ( 2007/3/2 14:31 )   首先,你要有一张表!     CREATE TABLE example(     ...

oracle中设置自增主键参考

  • 2012年04月04日 15:59
  • 5KB
  • 下载

Oracle中主键自增实例

  • 2012年03月28日 15:19
  • 69KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何对oracle数据库中的表设置主键自增?
举报原因:
原因补充:

(最多只允许输入30个字)