# Was bedeutet die Konsistenzbedingung "ON DELETE RESTRICT"?



## ebruss17 (28. Jan 2015)

Hallo Community,

ich habe eine Konsistenzbedingung definiert:


```
ALTER TABLE "RT"."TESTDATA" ADD CONSTRAINT "TESTDATA_TESTCASES_FK" FOREIGN KEY ("TESTCASE_ID") REFERENCES "MGMT"."TESTCASES" ("TESTCASE_ID") ON DELETE RESTRICT;
```

Wie kann man das denn erklären? Ich versuche es mal, weil ich es innerhalb meiner Präsentation erklären muss.

ALSO: Wenn ich versuche, innerhalb der Tabelle "TESTDATA" die Zeile "TESTCASE_ID" (Fremdschlüsselspalte) zu löschen, dann wird diese Löschoperation zurückgewiesen verboten oder??


----------



## stg (28. Jan 2015)

Deine Erklärung ist falsch.
TESTCASE_ID ist eine Spalte und keine Zeile!
über ON DELETE = ...... spezifizierst du das Verhalten, falls der Parent, der referrenziert wird, gelöscht wird.


----------



## ebruss17 (28. Jan 2015)

Wie würdest du das mit eigenen Worten erklären?


----------



## Flown (28. Jan 2015)

Google liefert dir doch die Erklärung.


----------



## ebruss17 (28. Jan 2015)

ja aber ich meine bezogen auf das von mir angegebene Beispiel :/


----------



## ebruss17 (28. Jan 2015)

ich habe es jetzt mal so formuliert:

wenn man Werte aus der Tabelle „TESTCASES“ löscht, soll dies unterbunden bzw. verboten werden, wenn es Einträge mit dem selben Schlüssel auch in der Tabelle „TESTDATA“ gibt.

Könnte mal jemand drüberschauen, ob es so korrekt ist?? Dankeee...


----------



## stg (28. Jan 2015)

Das geht schon in die richtige Richtung. Du solltest jedoch genauer sagen, was du denn nun mit "mit dem selben Schlüssel" meinst.


----------

