在一个表引用另一个表的外部键中,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+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告