oracle实现主键自增

由于ORACLE设置主键是不会自动增加的,所以必须用 序列 和 触发器 来完成主键的递增

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;

执行上面3步语句

时间: 2024-10-09 12:48:34

oracle实现主键自增的相关文章

Oracle实现主键自增的几种方式

数据库作为一个系统的核心,数据库设计的1NF就是一个表结构必须有唯一约束也就是主键,Oracle数据库本身没有自增机制,不像MySQL直接使用关键字AUTO_INCREMENT自动加一,所以需要我们去自己来实现,下面有几种实现的方式 一.序列化+触发器 第一步在表结构完整的情况下创建一个序列 CREATE SEQUENCE SEQ_NAME INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999999999999999 START WITH 1 CACHE 20 第二部创

oracle 实现主键自增

-- 创建表 drop table test; create table test(id number(10), name varchar2(10)); -- 创建对列 drop sequence seq_id; create sequence seq_id minvalue 1 nomaxvalue start with 1 increment by 1 nocycle nocache; /* minvalue 1     最小值 nomaxvalue     不设置最大值(由机器决定),或根

oracle主键自增(1) 序列+触发器实现Oracle主键自增

序列+触发器实现Oracle主键自增 序列的语法格式为: CREATE SEQUENCE 序列名 [INCREMENT BY n] [START WITH n] [{MAXVALUE/MINVALUE n|NOMAXVALUE}] [{CYCLE|NOCYCLE}] [{CACHE n|NOCACHE}]; INCREMENT BY 用于定义序列的步长,如果省略,则默认为1,如果出现负值,则代表序列的值是按照此步长递减的. START WITH 定义Oracle序列的初始值(即产生的第一个值),

oracle 触发器实现主键自增

drop table book; --创建表 create table book( bookId varchar2(4) primary key, name varchar2(20) ); --创建序列 create sequence book_seq start with 1 increment by 1; --创建触发器 create or replace trigger book_trigger before insert on book for each row begin select

Oracle主键自增

1.创建table 1 CREATE TABLE demo6 2 ( 3 id INT NOT NULL, 4 key1 VARCHAR2(40) NULL, 5 key2 VARCHAR2(40) NULL 6 ); 2.设置主键 1 alter table demo6 add constraint demo6_pk primary key (id); 3.新建序列 1 create sequence demo6_id 2 minvalue 1 3 nomaxvalue 4 increment

hao947 : Mybatis resultMap配置插入和主键自增返回 : 好947

映射配置文件  好947  <!-- type:映射实体类的数据类型 id:resultMap的唯一标识 -->  <resultMap type="person" id="BaseResultMap">   <!-- column:库表的字段名 property:实体类里的属性名 -->   <id column="person_id" property="personId" /&g

使用powerdesigner建模时设置主键自增的问题

研究了一下,其实只要双击表,选择columns,再双击在你所要设为自增型的键上(比如你的id)或者右键选择Properties,弹出一个ColumnProperties 对话框,我们看到有标识 identify,勾选即可. Columns 的UI上有一个漏斗型 的图标 Customize columns and filters 点击以后选择你要的列,里面有:default 和identity 选中后,以后表格能只需要打勾就行了. 在CDM中是不能设置主键自增属性的,只有在PDM中才能设置. 因为

Oracle创建主键自增表

Oracle创建主键自增表 1.创建表 create table Test_Increase( userid number(10) NOT NULL primary key,  /*主键,自动增加*/ username varchar2(20) ); 2.创建自动增长序列 CREATE SEQUENCE TestIncrease_Sequence INCREMENT BY 1   -- 每次加几个 START WITH 1     -- 从1开始计数 NOMAXVALUE       -- 不设

浅谈MyBatis-Plus学习之Oracle的主键Sequence设置

一.Oracle的主键Sequence设置简介 在Oracle数据库中不支持主键自增策略,它是通过Sequence序列来进行完成的,因此需要在MP中进行相关配置 二.相关配置如下 2.1.pom.xml 添加相关依赖 注意:由于oracle的授权问题,没办法从maven仓库中下载,因此可以手动从oracle官网中下载,并本地打包到仓库中 <!-- Oracle驱动: 因为Oracle授权的问题,不能从Maven的仓库中下载到Oracle驱动 --> <dependency> <