Oracle的主键id自增

可以直接用序列加触发器的方式实现

首先表里面要有个主键,没有的话用语句或者在编译器中加一下,都可以

然后创建一个序列,一般来说最常用的有这几个参数

CREATE SEQUENCE SEQ_a                 --序列名字
INCREMENT BY 1 --每次自增1,也可写非0的任何整数
START WITH 1489681 --以该值开始自增或自减
NOMAXVALUE(正常可以用MAXVALUE 1) --最大值;设置NOMAXVALUE表示无最大值
NOMINVALUE(正常可以用MINVALUE 1) --最小值;设置NOMINVALUE表示无最大值

在PL/SQL中执行完可以按住Ctrl点击名字进界面,里面有很多内容,不用多说应该也能看得懂

那个序列要怎么使用呢

直接使用,序列名字.nextval,可以直接取到自增的数值

然后就是制作一个触发器用以id的自增

create or replace trigger ins_a_certid
before insert on a /*触发条件:当向表执行插入操作时触发此触发器*/
for each row /*对每一行都检测是否触发*/
begin
/*从序列中取自增的数代替新的id*/
select SEQ_a.nextval into :new.id from dual; end;

以上

Oracle的主键id自增的更多相关文章

  1. oracle 实现主键id自增

    公司现在项目数据库使用oracle,oracle实现表主键自增比mysql麻烦 mysql 在表主键auto_increment 打钩即可.oracle没有改属性,就相对麻烦.特此记录一下自增方法 测 ...

  2. Oracle通过主键id删除记录很慢

    问题描述: Oracle通过主键id删除2000条记录很慢,需要花费十二分钟. 解决过程: 1.首先查看SQL的执行计划,执行计划正常,cost只有4,用到了主键索引. 2.查看等待事件, selec ...

  3. cmd中mysql主键id自增,在添加信息时发生错误,再次成功添加时,id已经跳过错误的信息继续自增。

    id 自增,在往这个表里添加信息时 发生错误,再次添加 id数值已经跳过之前

  4. Mybatis+Mysql插入数据库返回自增主键id值的三种方法

    一.场景: 插入数据库的值需要立即得到返回的主键id进行下一步程序操作 二.解决方法: 第一种:使用通用mapper的插入方法 Mapper.insertSelective(record): 此方法: ...

  5. oracle中主键自增

    oracle中主键自增 下面用一个例子来说明自增主键的创建: 1.建用户数据表 drop table dectuser; create table dectuser( userid integer p ...

  6. Mysql对自增主键ID进行重新排序

    Mysql数据库表的自增主键ID号经过一段时间的添加与删除之后乱了,需要重新排列. 原理:删除原有的自增ID,重新建立新的自增ID. 1,删除原有主键: ALTER TABLE `table_name ...

  7. Mysql自增主键ID重新排序方法详解

    Mysql数据库表的自增主键ID号乱了,需要重新排列. 原理:删除原有的自增ID,重新建立新的自增ID. 1,删除原有主键: ALTER TABLE `table_name` DROP `id`; 2 ...

  8. 使用mybatis插入自增主键ID的数据后返回自增的ID

    在开发中碰到用户注册的功能需要用到用户ID,但是用户ID是数据库自增生成的,这种情况上网查询后使用下面的方式配置mybatis的insert语句可以解决: <insert id="in ...

  9. mybaits返回自增主键ID

    mybaits两种获取自增主键ID的方法:一种是使用useGeneratedKeys,第二种是selectKey方法获取. useGeneratedKeys <insert id="i ...

  10. Mybatis 中获取添加的自增主键ID(针对mysql)

    分享一篇博客,主要就是针对在我们使用SSM的时候,在.xml中获取<insert></insert> 时的自增主键Id,由于好久没有,这个时候使用,有点生疏,就在这里写个笔记, ...

随机推荐

  1. Template String Converter - 字符串中加变量 自动将单引号变换 - vscode插件

    Template String Converter - 字符串中加变量 自动将单引号变换 - vscode插件

  2. StatefulSet是怎样实现的

    StatefulSet是Kubernetes中用于管理有状态应用的标准实现.与Deployment不同,StatefulSet为每个Pod提供了一个唯一的.稳定的网络标识符,并且Pod的启动和停止顺序 ...

  3. FreeRTOS教程4 消息队列

    1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) Keil µVision5 IDE(MDK-Arm) 野火DAP仿真器 XCO ...

  4. 关于Jitpack发布aar,会丢失内置依赖库问题

    原文:关于Jitpack发布aar,会丢失内置依赖库问题 | Stars-One的杂货小窝 关于发布aar出现的一个大坑排查,折腾了两天,终于是找到了解决方案 问题描述 有这样的一个情况,我新建了个A ...

  5. LiveData详细分析

    目录介绍 01.LiveData是什么东西 02.使用LiveData的优势 03.使用LiveData的步骤 04.简单使用LiveData 05.observe()和observerForever ...

  6. 《百岁人生》读书笔记 | 能活百年,为什么要死在 "35" 岁?

    <百年人生>讲述了当我们如愿能够接受到 长寿 这份礼物时,它所带给我们的挑战以及应对方法,这些发生在 "眼前" 的事,不得不引发我们重新的思考.推荐阅读 一.百岁人生的 ...

  7. IDEA 突然无法打开 解决办法

    如果实在没有方法了可以试一试 删除所有的配置文件,默认位置C:\Users\${你的用户名}\${.IntelliJIdea+版本} 注意:删除配置后之前所有的设置都会失效,谨慎操作.

  8. C# 强大的网页处理类NSoup

    地址: https://github.com/GeReV/NSoup using System; using System.Collections.Generic; using System.Comp ...

  9. multisim的操作回顾

    multisim的操作回顾 1.写在前面 multisim的仿真功能还是强大的,能够有效地实现对电路功能的验证.但是,不能全局搜索器件是个大问题.对于不熟悉器件的基本分类的人来说,一排的分类足以浪费大 ...

  10. CentripetalNet:更合理的角点匹配,多方面改进CornerNet | CVPR 2020

    CentripetalNet的核心在于新的角点匹配方式,额外学习一个向心偏移值,偏移值足够小的角点即为匹配,相对于embedding向量的匹配方式,这种方法更为鲁棒,解释性更好.另外论文提出的十字星变 ...