Databases Reference
In-Depth Information
DELETE-Anweisung
Die Grundform der Anweisung lautet:
DELETE FROM tabelle
[ WHERE prädikat ]
Damit werden alle Zeilen in der angegebenen Tabelle gelöscht, auf die die mit der
WHERE-Klausel formulierte Bedingung zutrifft. Ohne Argument in der WHERE-
Klausel löscht DELETE
alle Zeilen
!
Die leere Tabelle, wie sie mit
CREATE TABLE
erzeugt wurde, bleibt erhalten.
3
Die folgende Anweisung löscht den zuvor neu angelegten Kunden:
DELETE
FROM kunde
WHERE kunden_nr = 199;
Wenn wir jetzt mit der einfachen SELECT-Anweisung
SELECT * FROM kunde
eine Liste erzeugen, fehlt dieser Kunde.
4
Wirkungen von Integritätsregeln beim Löschen
Wegen der referenziellen Integrität darf kein Kunde gelöscht werden, der etwas
bestellt hat. Nach
DELETE FROM kunde
WHERE kunden_nr = 101
antwortet das DBMS dann so oder ähnlich: »
primary key for row in table 'KUNDE' is
referenced in another table
« oder »
Primärschlüsselwert von 'KUNDE' wird als Fremd-
schlüssel verwendet
«.
Aufgabe 5.6
Erfassen Sie den Artikel mit
artikel_nr='X001'
(übrige Attributwerte beliebig).
Löschen Sie den Artikel. Lassen Sie nach jeder Operation alle Artikeldaten auflis-
ten.
3
Um eine Tabelle vollständig aus der Datenbank zu entfernen, ist die DROP TABLE-Anweisung
anzuwenden.
4
Soll eine Löschung zurückgenommen werden, kann dies u.U. mit ROLLBACK erreicht wer-
den. In den folgenden Kapiteln bleiben die Tupel in der Kundentabelle als Beispielwerte erhal-
ten.