文档章节

Oracle主键ID插入时自动增长(触发器)

亚林瓜子
 亚林瓜子
发布于 2018/06/12 15:54
字数 190
阅读 9
收藏 1

需要

实现插入数据时,ID列自动增长

思路

创建一个Oracle自动增长序列,然后创建一个Oracle的触发器,当检查到插入该表数据时,这从序列里面取数据,作为自动增长id数据插入。

实现

创建序列

-- 创建自增长序列
CREATE SEQUENCE seq_autoid
MINVALUE 1
START WITH 1 --从1开始  
INCREMENT BY 1 --不设最大值  
NOMAXVALUE
NOCYCLE --不循环  
NOCACHE;

创建触发器

CREATE TRIGGER autoid_t_org   
BEFORE INSERT
ON T_NAME -- 表名   
FOR EACH ROW  
BEGIN  
  SELECT seq_autoid.nextval   
  INTO :new.ID -- :new这个部分时INSERT语句使用的语法
  FROM DUAL;
END;

参考: oracle 主键自增长设置 SQL AUTO INCREMENT Field oracle触发器详细 How to create id with AUTO_INCREMENT on Oracle?

© 著作权归作者所有

亚林瓜子

亚林瓜子

粉丝 23
博文 257
码字总数 88625
作品 0
长沙
高级程序员
私信 提问
Mysql、Sql Server、Oracle主键自动增长的设置

1、把主键定义为自动增长标识符类型 MySql 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如: create table customers(id int auto_increment primary k...

Junn
2014/03/17
430
0
Mysql,SqlServer,Oracle主键自动增长的设置

1、把主键定义为自动增长标识符类型 MySql 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值。例如: customers(id auto_increment , name ( customers(name) i...

北方攻城师
2014/07/29
135
0
Oracle 数据库实现自增长列

SqlServer 和MySql都有自增长的功能,而Oracle必须接结合sequence序列(一般用于主键列),并使用触发器才能够实现自动增长,具体步骤如下: 一、 建表 create table list(id number,name va...

finereport
2011/12/19
159
0
Oracle与MySQL的SQL语句主要区别

首先是大体一致的,只是分页查询时oracle用的伪列(rownum),mysql用的是limit,具体的可以百度一下分页; 另外oracle对sql语句要求更为严格,而且oracle里变量较mysql更多点,oracle中有n...

孙幼凌
04/15
17
0
Mybatis insert 返回主键

在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数;如果业务层需要得到记录的主键时,可以通过配置的方式来完成这个功能 针对Sequence主键而言,在执行...

锅巴跑跑
2016/11/17
99
0

没有更多内容

加载失败,请刷新页面

加载更多

插入排序算法

《算法总纲目录》 1、定义     元素被分为有序区和无序区两部分。最初有序区只有一个元素。每次从无序区中选择一个元素,插入到有序区的位置,直到无序区变空。 2、代码 public class...

木九天
16分钟前
2
0
ApacheCN 翻译/校对/笔记整理活动进度公告 2019.10.18

注意 请贡献者查看参与方式,然后直接在 ISSUE 中认领。 翻译/校对三个文档就可以申请当负责人,我们会把你拉进合伙人群。翻译/校对五个文档的贡献者,可以申请实习证明。 请私聊片刻(52981...

ApacheCN_飞龙
18分钟前
2
0
Hands-on! 如何给 TiDB 添加新系统表

作者:黄东旭 “TiDB,你已经是一个成熟的数据库了,该学会用自己的 SQL 查自己的状态了。” 对于一个成熟的数据库来说,通过 SQL 来查询系统本身的状态再正常不过,对于 MySQL 来说 INFOMA...

TiDB
24分钟前
2
0
SpringBoot admin+Eureka+钉钉通知

SpringBoot admin+Eureka+钉钉通知 一、效果 登录账号+密码 监控服务 查看实时日志 钉钉通知 二、什么是Spring Boot Admin ? Spring Boot Admin是一个开源社区项目,用于管理和监控SpringB...

小白的成长
27分钟前
9
0
docker-rabbitmq

docker pull rabbitmqmkdir -p /rabbitmqdocker run -d \--name rabbitmq \--hostname rabbitmq \-v /rabbitmq:/var/lib/rabbitmq \-e RABBITMQ_DEFAULT_USER=root \-e RA......

李琼涛
29分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部