Fremdschlüsselaktionen
Mit den Unterklauseln ON UPDATE und ON DELETE ist es möglich, eine Aktion für die betroffene(n) Fremdschlüsselspalte(n) festzulegen, wenn referenzierte Werte in der Mastertabelle geändert werden:
KEINE AKTION-
(Standard) - Nichts wird getan
CASCADE-
Die Änderung in der Master-Tabelle wird an die entsprechende(n) Zeile(n) in der Child-Tabelle weitergegeben.Wenn sich ein Schlüsselwert ändert, ändert sich der entsprechende Schlüssel in den untergeordneten Datensätzen auf den neuen Wert;Wenn die Masterzeile gelöscht wird, werden die untergeordneten Datensätze gelöscht.
SET DEFAULT-
Die Fremdschlüsselspalten in den betroffenen Zeilen werden auf ihre Standardwerte gesetzt wie sie waren, als die Fremdschlüsseleinschränkung definiert wurde.
SET NULL-
Die Fremdschlüsselspalten in den betroffenen Zeilen werden auf
NULLgesetzt.
Die angegebene Aktion oder die Standardeinstellung NO ACTION kann dazu führen, dass eine Fremdschlüsselspalte ungültig wird.Sie könnte beispielsweise einen Wert erhalten, der in der Mastertabelle nicht vorhanden ist, oder er könnte NULL werden, während die Spalte eine NOT NULL-Einschränkung hat.Solche Bedingungen führen dazu, dass die Operation in der Mastertabelle mit einer Fehlermeldung fehlschlägt.
...
CONSTRAINT FK_ORDERS_CUST
FOREIGN KEY (CUSTOMER) REFERENCES CUSTOMERS (ID)
ON UPDATE CASCADE ON DELETE SET NULL