Oracle表中新增外來鍵約束
阿新 • • 發佈:2018-12-11
新增主鍵約束:
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
;