Oracle外键约束

本文详细介绍了Oracle数据库中创建外键约束的方法,包括在创建表时和随时更改的方式,并探讨了外键约束的理解,如外键只能接受父表的值或NULL。文章通过实际例子展示了级联操作(CASCADE、SET NULL、NO ACTION)的影响,以及在操作中外键约束可能遇到的问题和解决方案。
摘要由CSDN通过智能技术生成

一、创建外键约束

两种方法

1.创建表时

create table 子表(

id number,

name varchar2(5),

foreign key(id) references 父表(列名) 

);

2.随时更改

alter table 子表 drop constraint 约束名;

alter table 子表 add constraint 约束名  foreing key(外键) conferences 父表(列名) ;

二、进一步理解

外键只接受两种值,一是父表中的外键值,二是NULL

创建外键时可以指定级联操作:

在添加外键约束时,还可以指定级联操作的类型,主要用于确定当删除父表中的一条记录时,如何处理子表中的外键字段。

1.CASCADE:删除父表中的被引用列的数据时,级联删除子表中相应的数据行

2.SET NULL:删除父表中的被引用列的数据时,将子表中相应引用列的值设置为NULL。要求子表中相应引用列支持NULL

3.NO ACTION:默认为此操作。删除父表中的被引用列的数据时,如果子表中的引用列中包含该值,则禁止该操作执行。(注意:执行delete 父表也不会报错,子表中的数据不会被删除

 

注意:级联操作允许删除/更新多条数据!

三、实际例子

create table a_1 (id number);

create table

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值