您当前的位置:首页 > 生活 > 内容

oracle添加主键,Oracle如何添加主键约束(的自增序列,两步轻松搞定)

关于【oracle添加主键】,Oracle如何添加主键约束,今天犇涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

内容导航:1、oracle添加主键:Oracle如何添加主键约束2、如何实现 Oracle 的自增序列,两步轻松搞定

1、oracle添加主键:Oracle如何添加主键约束

工具/材料

SQL Developer

操作方法

首先打开SQL Developer软件,找一个没有主键约束的表,如下图所示

然后我们新建一个查询,在界面中输入如下的约束修改语句,如下图所示,主要通过add constranint来添加约束

编写完约束添加语句以后,点击工具栏中的执行按钮,如下图所示,如果输出栏显示已变更则证明主键约束创建成果

然后我们进入STUDENT表的约束添加页中可以看到,我们加的主键约束已经添加进去了,如下图所示

另外,创建表的时候可以直接添加主键约束,如下图所示,直接在表创建语句中添加constraint即可

表创建完以后,记得在左侧刷新数据库信息,如下图所示,因为你创建的信息不刷新的话不会更新

最后打开你所创建的表,看到你添加的主键约束已经加入进来了,这种方式的效果alter的方式是一样的

声明:本篇经验系酷知网「www.coozhi.com」原创,转载请注明出处。

2、如何实现 Oracle 的自增序列,两步轻松搞定

在实际项目开发过程中,设计数据库表时经常遇到需要主键自增的场景。那如何实现Oracle的主键自增呢,这里我们记录一种最常用的方式:sequence + trigger。

oracle添加主键,Oracle如何添加主键约束(的自增序列,两步轻松搞定)

就是利用Oralce的序号和触发器来实现字段的自增,下面直接来看一个完整的例子。

一、创建表结构

这里我们简单创建一张表做例子,其中表中的id字段就是我们后面准备用来作为自增的字段。

create table T_EMP(ID NUMBER not null,EMP_CODE VARCHAR2(64),EMP_NAME VARCHAR2(64));

二、创建序列(sequence)

这里创建自增序列,用于后面和上表的关联。

CREATE SEQUENCE T_EMP_SEQUENCEMINVALUE 1 --最小值NOMAXVALUE --不设置最大值START WITH 1 --从1开始计数INCREMENT BY 1 --每次加1NOCYCLE --一直累加,不循环NOCACHE; --不建缓冲区

三、创建触发器(trigger)

创建触发器,把表和序列关联起来,并设定每当表中新增数据的时候触发。

oracle添加主键,Oracle如何添加主键约束(的自增序列,两步轻松搞定)

代码如下,

CREATE OR REPLACE TRIGGER T_EMP_TRIGGER BEFORE INSERT ON T_EMP FOR EACH ROW WHEN(NEW.ID IS NULL)BEGIN SELECT T_EMP_SEQUENCE.NEXTVAL INTO:NEW.ID FROM dual;END;

四、测试

上面sequence和trigger都创建好之后,就可以添加数据测试了。这里我们直接insert几条数据,注意看id字段的变化就可以了。

INSERT INTO T_EMP (EMP_CODE, EMP_NAME)VALUES ('zhangsan', '张三');INSERT INTO T_EMP (EMP_CODE, EMP_NAME)VALUES ('lisi', '李四');INSERT INTO T_EMP (EMP_CODE, EMP_NAME)VALUES ('wangwu', '王五');

我们看下结果,

oracle添加主键,Oracle如何添加主键约束(的自增序列,两步轻松搞定)

从上图看出,已经实现表中id字段的自增,大功告成。

本文关键词:oracle新增主键约束,oracle 添加主键约束,oracle添加主键约束的sql语句,oracle外键约束,oracle给表添加主键约束。这就是关于《oracle添加主键,Oracle如何添加主键约束(的自增序列,两步轻松搞定)》的所有内容,希望对您能有所帮助!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 埃及鱼怎么做好吃,仔姜焖埃及塘角鱼的做法(埃及胡子鲶入侵华南)

下一篇: 手刹的制动原理视频(手刹的制动原理)



猜你感兴趣

推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号