如何对在ORDERS表上定义的外键TRANSACTION_ID和对TRANSACTIONS表的引用实施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。