一个表上的外键引用另一个表的 CASCADE 规则是什么?

外键用于在子table(in which column is defined as foreign key)表和父表之间建立参照约束(子表的外键成为主键)。例如,如果我们有一个 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。

猜你喜欢