MySQL的ID非常方便定义,只要指定其字段的自动增量属性即可。

但是Oracle不行,需要定义sequence和triggedr,当然trigger可以不定义,但是不方便。

表定义如下:

CREATE TABLE GAME
(
  ID            INTEGER                         NOT NULL,
  GAME_DATE     DATE                            NOT NULL,
  START_TIME    DATE,
  END_TIME      DATE,
  GAME_RULE_ID  INTEGER
)

我想插入时不必指出Id

INSERT INTO game(game_date, start_time, Game_rule_id)

VALUES (to_date(‘2003/05/03′, ‘yyyy/mm/dd’), to_date(‘21:02:44′, ‘hh24:mi:ss’), 1) ;

首先定义sequence

create sequence game_sequence
start with 1
increment by 1;

然后定义trigger

create TRIGGER game_trigger
BEFORE INSERT
ON game
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT game_sequence.nextval INTO :NEW.ID FROM dual;
END;

查看已经存在的sequence和trigger

SELECT sequence_name FROM user_sequences;

SELECT trigger_name FROM user_triggers;
删除已经定义的sequence和trigger
DROP sequence game_sequence;
DROP trigger game_trigger;
禁用和启用trigger

ALTER trigger game_trigger disable;

ALTER trigger game_trigger enable;

Oracle 如何定义自动增量autocreament的主键ID?相关推荐

  1. oracle主键id自动自增_Oracle主键ID设置自动增长(序列+触发器)

    ----创建表 create  table  users ( user_id number(6) not null, user_name varchar2(20) not null, user_pwd ...

  2. mybatis插入数据后返回自增主键ID详解

    1.场景介绍: ​ 开发过程中我们经常性的会用到许多的中间表,用于数据之间的对应和关联.这个时候我们关联最多的就是ID,我们在一张表中插入数据后级联增加到关联表中.我们熟知的mybatis在插入数据后 ...

  3. Oracle使用序列触发器实现主键id自动增长

    记录一下oracle中的字段自增问题 在mysql中我们可以使用auto_increment来实现自动增长功能 而在oracle主键没有自动增长类型,所以一般使用序列产生的值作为某张表的主键,实现主键 ...

  4. jdbc 3种获得mysql插入数据的自增字段值的方法_【JDBC】向数据表插入数据时,自动获取生成的主键...

    数据表设计时,一般都会有一个主键(Key)(自己指定),有时也可以使用联合主键: 有许多数据库提供了隐藏列为表中的每行记录分配一个唯一键值(如:rowid): 当我们没有指定哪一列作为主键key时,数 ...

  5. oracle 主键_mysql 组合索引带主键ID的问题

    场景: mysql 5.7 某表 t_apply_info 上的2个索引,一个组合索引带了 主键字段 ID,另一个是同字段的单列索引 例如: KEY idx_1 (apply_serial_no,id ...

  6. oracle批量插入并且返回自增主键_mybatis + (oracle)实现主键自增 + 插入数据并返回主键...

    一.实现主键自增 在oracle数据库中,主键并没有办法自动增长,无法使用insert对应的useGeneratedKeys和keyProperty属性自动返回增加的主键. 要实现自增需要修改 ID列 ...

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

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

  8. oracle和mybatis自增,在Springboot项目中使用MybatisPlus和Oracle实现主键ID的自增

    在Springboot项目中使用MybatisPlus和Oracle实现主键ID的自增 发布时间:2020-11-18 15:49:35 来源:亿速云 阅读:125 作者:Leah 在Springbo ...

  9. sqlserver 使用newid自动生成32位主键

    1.这种情况是生成36位大写的id select newid(); 2.这种情况是生成我们常见的32位的主键id select replace(lower(newid()),'-','')

  10. 分库分表的 9种分布式主键ID 生成方案

    <sharding-jdbc 分库分表的 4种分片策略> 中我们介绍了 sharding-jdbc 4种分片策略的使用场景,可以满足基础的分片功能开发,这篇我们来看看分库分表后,应该如何为 ...

最新文章

  1. python 脚本撞库国内“某榴”账号
  2. 6. ZigZag Conversion
  3. [摘录]遇见未知的自己(一)
  4. C# 操作XML入门
  5. vmware安装mac
  6. 13.2.虚拟化工具--jstat
  7. 牛客 - Final Exam(贪心)
  8. springboot与springcloud的关系(转载)
  9. word插入参考文献、目录及公式对齐方法
  10. python基础入门(7)之元组
  11. vue——路由router
  12. PHP curl get post通用类
  13. Elasticsearch 单机安装
  14. /bin/sh^M:损坏的解释器: 没有那个文件或目录
  15. 外媒:伊朗政府封锁加密通讯应用Signal
  16. android判断密码字符串,逆向分析苏宁易购安卓客户端加密到解密获取明文密码(附demo验证) | WooYun...
  17. [Noip2007]Core树网的核
  18. Docker容器中bash: ip: command not found
  19. 【搞一点AUTOSAR】基于TC397的MACL_ADC配置(Davinci工具链)
  20. 阿里云ECS云服务器镜像的基本概念以及使用(七)

热门文章

  1. 【DockerCE】Docker-CE 20.10.17正式版发布
  2. [PTA]实验5-6 使用函数判断完全平方数
  3. 面试相关-转载-well,yzl——持续更新
  4. Git相关知识(分支管理、主要命令和冲突解决)
  5. Github每日精选(第17期):Django下的内容管理系统wagtail
  6. java两个字符串的重复率检查
  7. android 实体 快捷键,as快捷键
  8. php网站开题报告该怎么答辩,如何应对开题报告答辩?看完你就明白了
  9. 二级域名映射服务器,如何进行二级域名解析做端口映射?
  10. 群控云控SDK开发包(快速开发群控云控微信SCRM客服系统)