在一個表引用另一個表的外部鍵中,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。
廣告