关于【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。
就是利用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)
创建触发器,把表和序列关联起来,并设定每当表中新增数据的时候触发。
代码如下,
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', '王五');
我们看下结果,
从上图看出,已经实现表中id字段的自增,大功告成。
本文关键词:oracle新增主键约束,oracle 添加主键约束,oracle添加主键约束的sql语句,oracle外键约束,oracle给表添加主键约束。这就是关于《oracle添加主键,Oracle如何添加主键约束(的自增序列,两步轻松搞定)》的所有内容,希望对您能有所帮助!