oracle 实现 自增主键功能
转自:https://blog.csdn.net/zxh2075/article/details/78488141
1 CREATE TABLE Demo 2 ( 3 id INT NOT NULL auto_increment PRIMARY KEY, 4 key1 VARCHAR2(40) NULL, 5 key2 VARCHAR2(40) NULL 6 );
1 CREATE SEQUENCE SEQNAME //序列名字 2 INCREMENT BY 1 //每次自增1, 也可写非0的任何整数,表示自增,或自减 3 START WITH 1 //以该值开始自增或自减 4 MAXVALUE 1.0E20 //最大值;设置NOMAXVALUE表示无最大值 5 MINVALUE 1 //最小值;设置NOMINVALUE表示无最大值 6 CYCLE or NOCYCLE //设置到最大值后是否循环; 7 CACHE 20 //指定可以缓存 20 个值在内存里;如果设置不缓存序列,则写NOCACHE 8 ORDER or NOORDER //设置是否按照请求的顺序产生序列
1 CREATE TABLE Demo 2 ( 3 id INT NOT NULL PRIMARY KEY, 4 key1 VARCHAR2(40) NULL, 5 key2 VARCHAR2(40) NULL 6 );
1 CREATE SEQUENCE SEQ 2 INCREMENT BY 1 3 START WITH 1 4 MAXVALUE 1.0E20 5 MINVALUE 1 6 NOCYCLE 7 CACHE 20 8 NOORDER
1 drop table dectuser; 2 create table dectuser( 3 userid integer primary key, /*主键*/ 4 name varchar2(20), 5 sex varchar2(2) 6 );
1 drop sequence dectuser_tb_seq; 2 create sequence dectuser_tb_seq minvalue 1 maxvalue 99999999 3 increment by 1 4 start with 1; /*步长为1*/
1 create or replace trigger dectuser_tb_tri 2 before insert on dectuser /*触发条件:当向表dectuser执行插入操作时触发此触发器*/ 3 for each row /*对每一行都检测是否触发*/ 4 begin /*触发器开始*/ 5 select dectuser_tb_seq.nextval into :new.userid from dual; 6 /*触发器主题内容,即触发后执行的动作,在此是取得序列dectuser_tb_seq的下一个值插入到表dectuser中的userid字段中*/ 7 end; 8 /
1 insert into dectuser(name,sex) values ('feng','男); 2 commit; /*提交*/
转载于:https://www.cnblogs.com/sharpest/p/10160370.html
oracle 实现 自增主键功能相关推荐
- Mysql和Oracle获取自增主键
mysql <!-- parameterType:参数类型,可以省略, 获取自增主键的值: mysql支持自增主键,自增主键值的获取,mybatis也是利用statem ...
- Oracle创建自增主键ID(序列+触发器)
根据需求创建了一张表,主要做插入操作,需要主键自增:把我的建表详情分享如下: -- Create table create table auto_incre (auto_id NUMBER(10) n ...
- oracle 主键自增函数_Oracle数据库中创建自增主键的实例教程
在设计数据库表的时候发现Oracle没有自增主键的设置,Google了解到Oracle本身并不支持自增主键,需要通过序列(Sequence)和触发器(Trigger)实现. 创建表Student Cr ...
- MySQL导入csv文件内容到Table及数据库的自增主键设置
写在前面 目的是测试将csv文件内容导入到表中, 同时记录一下自增主键的设置. 测试采用MySQL8.0. 新建表customer_info如下, 未设置主键. 修改上表, 添加主键id, 并设置为自 ...
- oracle 创建表定义主键,Oracle 学习----:创建表(主键自增)
一.创建表 create table testTable ( Id numbere, name varchar2(100), age number, createTime date, primary ...
- mybatis使用statement.getGenreatedKeys(); useGeneratedKeys=”true”;使用自增主键获取主键值策略和Oracle不支持自增,Oracle使用序列
parameterType: 参数类型, 可以省略 mysql支持自增主键,自增主键的获取, mybatis也是利用statement.getGenreatedKeys(); useGenerate ...
- oracle批量插入并且返回自增主键_mybatis + (oracle)实现主键自增 + 插入数据并返回主键...
一.实现主键自增 在oracle数据库中,主键并没有办法自动增长,无法使用insert对应的useGeneratedKeys和keyProperty属性自动返回增加的主键. 要实现自增需要修改 ID列 ...
- datatable如何生成级联数据_通过源码分析Mybatis是如何返回数据库生成的自增主键值?...
在Mybatis中,执行insert操作时,如果我们希望返回数据库生成的自增主键值,那么就需要使用到KeyGenerator对象. 需要注意的是,KeyGenerator的作用,是返回数据库生成的自增 ...
- 学习笔记 - Postgres如何创建有自增主键的表
1.MySQL迁移到Postgres 之前用mysql习惯了,所以建表都是有自增主键的,建表规范里面大部分都是这样约定的,比如:(`id` BIGINT (11) UNSIGNED NOT NULL ...
最新文章
- java中遍历map的两种方式
- vivo应用商店电脑版_好车网APP|苹果商城、华为应用市场、腾讯应用宝、vivo应用商店、OPPO应用商店用户免费下载...
- 关于解决tomcat的一个错误
- 使用libxml提示libxml/tree.h找不到的问题解决
- jQuery 1.9+ 移除$.browser方法
- 计算机网络互联设备功能,计算机网络互联设备简介
- arraylist 初始化_ArrayList - 遍历ArrayList的三种方法
- python是什么专业-python有什么用(会计专业)
- 测试过程中用shell的地方_软件测试之学习shell流程控制结构
- 基本数据结构----顺序表
- ✿ iBm T60 水货入手了 满意 2005
- Revit二次开发-设置视图范围无限制
- Windows批处理文件bat学习(一)
- 想加薪怎么和领导谈?学会这四招轻松涨薪
- html5人脸拼图,面向眼机交互的界面控件设计方法研究.pdf
- 矩阵乘法,矩阵中各元素对应相乘及其梯度计算;
- Java高级之Float类和Double类的isNaN()方法
- 有衬线字体和无衬线字体
- Mysql通过binlog恢复误删数据
- 原型工具介绍———墨刀以及Axure RP比较
热门文章
- poj2229 基础的动态规划算法 挑战程序设计竞赛
- Python Flask服务同时接收单个、多个上传的文件
- SQLAlchemy 多态进阶(__mapper_args__ )、多对多标签
- 洛谷P2312解方程题解
- java基础的第二轮快速学习!day03
- 搭建一个jumpserver跳板机
- Android入门之文件系统操作(一)简单的文件浏览器
- 来到博客园 就要好好记录 分享技术
- myeclipse+8.6各个版本注册码(貌似8.5也可以)
- UNION,EXISTS,IN等在SQL语句中的灵活应用和场境的选择。