码迷,mamicode.com
首页 > 数据库 > 详细

Oracle 设置主键自增长__Oracle

时间:2018-12-22 22:00:23      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:values   bsp   min   aaa   max   常用   tab   使用   row   

转自: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

标签:values   bsp   min   aaa   max   常用   tab   使用   row   

原文地址:https://www.cnblogs.com/sharpest/p/10162294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!