一个表上的外键引用另一个表的 CASCADE 规则是什么?
外键用于在子table(inwhichcolumnisdefinedasforeignkey)表和父表之间建立参照约束(子表的外键成为主键)。例如,如果我们有一个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规则,我们将使用关键字ONDELETECASCADE。