在一個表引用另一個表的外部鍵中,CASCADE規則是什麼?


外部索引鍵用於在子表(其中某列定義為外部索引鍵)和父表(其中子表的外部索引鍵成為主鍵)之間建立引用約束。例如,如果我們有一個ORDER表,其中外部索引鍵定義為TRANSACTION_ID。此外部索引鍵將引用TRANSACTIONS表的TRANSACTION_ID列。在該TRANSACTIONS表中,TRANSACTION_ID將是主鍵。這裡的父表是TRANSACTIONS表,而子表是ORDERS表。

外部索引鍵的CASCADE規則規定,當從父表中刪除任何條目時,子表中所有相關的行也應被刪除。例如,如果TRANSACTIONS表中有一條條目,其TRANSACTION_ID為“A2234”(主鍵)。如果從TRANSACTIONS表中刪除此條目,則ORDERS表中所有具有外部索引鍵TRANSACTION_ID為“A2234”的行也應被刪除。我們可以如下設定CASCADE規則。

CREATE TABLE ORDERS
   (ORDER_ID CHAR(15) NOT NULL,
   ORDER_DATE DATE,
   ORDER_TOTAL DECIMAL(9,2),
   TRANSACTION_ID CHAR(15),
   PRIMARY KEY(ORDER_ID),
   FOREIGN KEY(TRANSACTION_ID) REFERENCES TRANSACTIONS
   ON DELETE CASCADE)
IN DB4ES01;

REFERENCES關鍵字後跟父表名稱,為了設定CASCADE規則,我們將使用關鍵字ON DELETE CASCADE。

更新於: 2020年9月14日

3K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告