Oracle 外來鍵約束
阿新 • • 發佈:2018-12-21
新增主鍵約束:
ALTER TABLE GA_AIRLINE ADD CONSTRAINT PK_AIRLINE_ID PRIMARY KEY(AIRLINE_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、置空外來鍵約束(可刪除存在引用的父表記錄,同時將子表中引用該父表主鍵的外來鍵欄位自動設為NULL,但該欄位應允許空值)
ALTER TABLE T_INVOICE_DETAIL ADD CONSTRAINT FK_INVOICE_ID FOREIGN KEY(INVOICE_ID ) REFERENCES T_INVOICE(ID) ON DELETE SET NULL;
注: 父表T_INVOICE 主鍵 ID
子表T_INVOICE_DETAIL 外來鍵欄位 INVOICE_ID