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
;