## DELETE-Regel (delete_rule)

Die DELETE-Regel (delete_rule) definiert die Auswirkungen, die das Löschen einer Zeile der referenzierten Tabelle referenced_table auf die referenzierende Tabelle hat

### Syntax

<delete_rule> ::= ON DELETE CASCADE
| ON DELETE RESTRICT
| ON DELETE SET DEFAULT
| ON DELETE SET NULL

### Erläuterung

· Keine DELETE-Regel: Das Löschen einer Zeile der referenzierten Tabelle scheitert, wenn es Trefferzeile gibt.

· ON DELETE CASCADE: Wenn eine Zeile der referenzierten Tabelle gelöscht wird, dann werden alle Trefferzeilen gelöscht.

· ON DELETE RESTRICT: Das Löschen einer Zeile der referenzierten Tabelle scheitert, wenn es Trefferzeilen gibt.

· ON DELETE SET DEFAULT: Wenn eine Zeile der referenzierten Tabelle gelöscht wird, dann wird für jede Trefferzeile jeder referenzierenden Spalte der zugehörige Vorschlagswert (DEFAULT-Wert) zugewiesen.
Für jede referenzierende Spalte muß eine DEFAULT-Spezifikation existieren.

· ON DELETE SET NULL: Wenn eine Zeile der referenzierten Tabelle gelöscht wird, dann wird jeder referenzierenden Spalte referencing_column jeder Trefferzeile ein NULL-Wert zugewiesen.
Keine referenzierende Spalte darf eine NOT NULL-Spalte sein.

Siehe auch:

Referentielle CONSTRAINT-Definition (referential_constraint_definition)

Spaltenattribute (column_attributes)