如何对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

oracle中设置表中主键字段自增

oracle中设置表中主键字段自增 --oracle中设置表中主键字段自增长   --1创建一个测试表   create table xw_table(xh number(10) primary ...
  • u011268274
  • u011268274
  • 2016年01月09日 23:56
  • 2798

数据库——Navicat如何设置主键自增长

Navicat如何设置主键自增长? 1、在表上右键,选择设计表。 2、选中主键,在下方“自动递增”勾选,即可。...
  • qq_28484355
  • qq_28484355
  • 2016年12月06日 22:49
  • 5456

Oracle 设置主键自增长

如果想在Oracle数据库里实现数据表主键自增,我们似乎没有办法像MySql般直接定义列的属性来实现。不过对于这个数据库的常用功能,我们还是有办法实现的。这里将展示使用触发器来实现主键自增。...
  • magician_Code
  • magician_Code
  • 2016年10月26日 21:03
  • 2047

如何在PowerDesigner中给一主键设置自增

在PowerDesigner中给一主键设置自增
  • qq_36185831
  • qq_36185831
  • 2017年09月08日 21:08
  • 656

PowerDesigner中如何生成主键和自增列--Oracle版本

http://www.cnblogs.com/netsql/archive/2010/05/19/1739512.html
  • caomiao2006
  • caomiao2006
  • 2014年01月07日 19:37
  • 884

oracle对没有主键表的新增主键修改表数据操作(没有主键字段,则新增一个主键字段,然后赋值,然后再添加主键)

--新增主键(没有主键字段,则新增一个主键字段,然后赋值,然后再添加主键) alter table REPORT_ABNORAML add ID number(11) null; --删除序列 --...
  • SJB2MLN
  • SJB2MLN
  • 2017年07月10日 16:44
  • 325

oracle数据库中为已经存在表的主键ID设置自增

1. 创建一张表create table t_user( user_id number not null primary key, user_name varchar2(30), credits...
  • sinat_27535209
  • sinat_27535209
  • 2016年10月09日 17:06
  • 1214

mybatis配置oracle的主键自增长

mysql、sqlserver等数据库本身带有主键自增长像auto_increment的功能可以直接使用 useGeneratedKeys=”true”来实现,比如下面的配置 insert i...
  • linfanhehe
  • linfanhehe
  • 2016年03月16日 12:26
  • 2944

mysql创建表,主键自增

Create table STU_MSG(  ID INT primary key auto_increment,  NAME VARCHAR(40) not null,  AGE int ...
  • u014660247
  • u014660247
  • 2016年09月11日 17:43
  • 929

mybatis中Oracle数据库如何实现主键自增

我们在使用mybatis框架进行数据库插入操作时,经常会遇到主键自增的问题!MySQL和SQLserver本身就提供了主键自增的功能,所以我们用起来很方便,但是Oracle没有直接提供主键自增功能,这...
  • Alun_kong
  • Alun_kong
  • 2017年06月06日 16:50
  • 395
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何对oracle数据库中的表设置主键自增?
举报原因:
原因补充:

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