2016-03-31 7 views

Antwort

1

Eine mögliche Lösung ist definieren ein kaskadierendes Verhalten zum Löschen auf FKs.

Zum Beispiel:

CREATE TABLE orders (
    order_id integer PRIMARY KEY, 
    ... 
); 

CREATE TABLE order_items (
    ... 
    order_id integer REFERENCES orders ON DELETE CASCADE, 
    ... 
); 

In diesem Fall, wenn jemand einen Auftrag entfernt, werden die Auftragspositionen ebenfalls entfernt. CASCADE gibt an, dass beim Löschen einer referenzierten Zeile die Zeile (n), die auf diese Zeile verweisen, automatisch gelöscht werden soll.

Referenz: http://www.postgresql.org/docs/current/static/ddl-constraints.html