Oracle 设置主键自增长__Oracle
转自:https://yq.aliyun.com/ziliao/258074
如果想在Oracle数据库里实现数据表主键自增,我们似乎没有办法像MySql般直接定义列的属性来实现。不过对于这个数据库的常用功能,我们还是有办法实现的。这里将展示使用触发器来实现主键自增。 1.准备
创建UserInfo表,结构如下:
CREATE TABLE UserInfo ( id NUMBER(10) NOT NULL, username VARCHAR2(15) NOT NULL, password VARCHAR2(15) NOT NULL, CONSTRAINTS PF_UserInfo PRIMARY KEY(id) --创建主键约束 );

创建一个用于自增的序列(requence)
CREATE SEQUENCE Tab_UserInfo_Sequence START WITH 1 MINVALUE 1 MAXVALUE 999999999 INCREMENT BY 1 CACHE 20;
2.触发器
CREATE OR REPLACE TRIGGER Tig_UserInfo_Insert BEFORE INSERT ON UserInfo --插入动作触发器 FOR EACH ROW WHEN(new.id IS NULL) --id值为null时触发 BEGIN select Tab_UserInfo_Sequence.nextval into :new.id from dual; --插入序列值到id值 END;
3.测试用例
INSERT INTO UserInfo(username, password) VALUES('aaa', '111'); INSERT INTO UserInfo(username, password) VALUES('bbb', '222'); INSERT INTO UserInfo(username, password) VALUES('ccc', '333');
查看表数据,结果如下:
4.END
至此,使用触发器设置主键自增已完成。
以上是Oracle 设置主键自增长__Oracle的全部内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有Oracle 设置主键自增长__Oracle的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库 , oracle , 主键 , sql数据库 自增 ,以便于您获取更多的相关知识。
Oracle 设置主键自增长__Oracle的更多相关文章
- Oracle 设置主键自增长
如果想在Oracle数据库里实现数据表主键自增,我们似乎没有办法像MySql般直接定义列的属性来实现.不过对于这个数据库的常用功能,我们还是有办法实现的.这里将展示使用触发器来实现主键自增. 1.准备 ...
- Oracle设置主键自增长
第一步:为表设置主键 第二步:新建序列 CREATE SEQUENCE SQ.SEQ_INCREASE START WITH 12 MAXVALUE 999 MINVALUE 0 INCREME ...
- 使用pl/sql的文本导入器时如何设置主键自增长
在使用文本导入器批量导入数据时,如果需要设置主键自增长,可以先创建一个序列: create sequence SEQ_Userinf start with 1 increment by 1nomaxv ...
- SQLServer --------- 设置主键自增长
设置主键自增长的两种方式 1.通过图形化的的操作方法进行设置 新建的时候进行设置 第二种是右击设计对已经建好的表进行设置 设置主键 设置自增长 标识增量标识每次自增加多少 标识种子标识从多少开始自 ...
- Oracle实现主键自增长
-- 主键设置:xx_id number(24) primary key 1 create sequence XX_seq --序列名称 increment by 1 -- 每次加几个 start - ...
- mybatis配置oracle的主键自增长
引用自:https://hacpai.com/article/1405392025960 mysql.sqlserver等数据库本身带有主键自增长像auto_increment的功能可以直接使用 us ...
- MySQL的常用命令:添加外键,修改字段名称,增加字段 设置主键自增长等
Mysql命令添加外键 前提是有这么几个表 以mall_product 和 mall_category为例 ALTER TABLE mall_product ADD CONSTRAINT fore_ ...
- 关于oracle设置主键自增的问题
关于orcale设置主键自增的问题 关于主键Oracle中并没有提供一个直接的语句设置,对于这个oralce一般都是用序列和触发器来实现 一下又两种方法来实现 一 ,不使用触发器 创建序列: crea ...
- oracle表设置主键自增长
create or replace table TBL_SYS_USER ( user_id NUMBER(19) not null, user_name ...
随机推荐
- Node.js初接触(一)
本来还在纠结着到底要学哪一种后台语言呢,突然发现node.js很火,既然能被这么多人推崇,自然是有他的优势的.去百度百科看了一眼,或许是我理解能力太差,并没有了解到很多关于node.js的东西,大概就 ...
- Mac上的抓包工具Charles[转载]
今天就来看一下Mac上如何进行抓包,之前有一篇文章介绍了使用Fidder进行抓包 http://blog.csdn.net/jiangwei0910410003/article/details/198 ...
- Microsoft SQL Server for Linux安装和配置
虽说mssql for linux早已经出来了,但原本没有打算这么早就去尝试的,无奈之下还是得先尝试用了,这里分几篇介绍我在用mssql for linux时遇到的问题,不得不说作为先吃螃蟹的人总是要 ...
- Postman工具——Pre-Request Script、Tests
这篇是介绍 Postman 的最后一篇,也就是最后两个用法:Pre-Request Script 和 Tests ,它支持以嵌入脚本的方式动态准备测试数据,并根据业务需求设计测试用例. 一.Pre-R ...
- javascript中some,every,map,filter是只用和ansyc中的each,eachLimit,map,mapLImit,filter的使用
var t = [1,2,3,4,5]; //some找到数组中第一个符合要求的值后就不在继续执行//用来判断数组中是否存符合要求的值,返回结果true|false//function返回类型为boo ...
- 通过Intent 打开系统级应用
众所周知,各个手机厂商由于对Android 原生系统定制的原因,会造成系统级应用packname 和activityname 不同的现象,就拿时钟软件来说,魅族2的activityname 是[com ...
- android将drawable下的图片转换成bitmap
将drawable下的图片转换成bitmap 1. Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.xx ...
- 阿里的druid
Druid首先是一个数据库连接池,但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser. Druid支持所有JDBC兼容的数据库,包括 ...
- java重置Timer执行频率
public class BallUtil { public static Timer fisTimer ; public static void fisStartBall(){ long first ...
- Linux(CentOS)下.NET,mono环境的安装步骤整理
本文Linux使用的是CentOS 7 1.软件下载 CentOS:https://www.centos.org/download/ mono-4.2.1.36.tar.bz2 http://down ...