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 ;

猜你喜欢

转载自blog.csdn.net/lansetiankong12/article/details/80506480