Oracle表中添加外键约束

Posted mol1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle表中添加外键约束相关的知识,希望对你有一定的参考价值。

添加主键约束:

ALTER TABLE GA_AIRLINE ADD CONSTRAINT PK_AIRLINE_ID PRIMARY KEY(AIRLINE_ID);

 

有三种形式的外键约束:

1、普通外键约束(如果存在子表引用父表主键,则无法删除父表记录)

2、级联外键约束(可删除存在引用的父表记录,而且同时把所有有引用的子表记录也删除)

3、置空外键约束(可删除存在引用的父表记录,同时将子表中引用该父表主键的外键字段自动设为NULL,但该字段应允许空值)

这三种外键约束的建立语法如下:

例如有两张表 父表T_INVOICE主键ID。子表T_INVOICE_DETAIL外键字段INVOICE_ID

1、普通外键约束:

ALTER TABLE T_INVOICE_DETAIL ADD CONSTRAINT FK_INVOICE_ID FOREIGN KEY(INVOICE_ID ) REFERENCES T_INVOICE(ID);
2、级联外键约束:
ALTER TABLE T_INVOICE_DETAIL ADD CONSTRAINT FK_INVOICE_ID FOREIGN KEY(INVOICE_ID ) REFERENCES T_INVOICE(ID) ON DELETE CASCADE;
3、置空外键约束:
ALTER TABLE T_INVOICE_DETAIL ADD CONSTRAINT FK_INVOICE_ID FOREIGN KEY(INVOICE_ID ) REFERENCES T_INVOICE(ID) ON DELETE SET NULL;

以上是关于Oracle表中添加外键约束的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 存储过程插入非重复值和外键约束的考虑

小议Oracle外键约束修改行为(一)

数据库外键约束?

Oracle外键需要建索引吗?

Oracle复习约束以及视图

MySQL - #1215 - 无法添加外键约束