Mit der SQL-Anweisung DELETE werden Datenzeilen aus einer bestimmten Tabelle oder Ansicht entfernt.
- Öffnen Sie einen SQL-Editor, und stellen Sie eine Verbindung mit der Datenbank her.
Verwenden Sie dazu ein Konto mit Berechtigungen zum Löschen von Elementen aus der Tabelle.
- Es folgen einige Beispiele für Abfragen zum Löschen von Daten für jede unterstützte Datenbank:
- Im folgenden Beispiel werden Werte aus einer Tabelle in Oracle basierend auf einem räumlichen Filter gelöscht:
DELETE FROM sensitive_areas WHERE names (SELECT sa.names FROM sensitive_areas sa, hazardous_sites hs WHERE sde.st_overlaps (sa.zone, sde.st_buffer (hs.location,.01)) = 1);
- Im folgenden Beispiel werden Werte aus einer Tabelle in PostgreSQL basierend auf einem räumlichen Filter gelöscht:
DELETE FROM sensitive_areas WHERE names EXISTS (SELECT sa.names FROM sensitive_areas sa, hazardous_sites hs WHERE st_overlaps (sa.zone, st_buffer (hs.location,.01)) = 't');
- Im folgenden Beispiel werden Werte aus einer Tabelle in einer SQLite-Datenbank basierend auf einem räumlichen Filter gelöscht:
DELETE FROM sensitive_areas WHERE names (SELECT sa.names FROM sensitive_areas sa, hazardous_sites hs WHERE st_overlaps (sa.zone, st_buffer (hs.location,.01)) = 1);
- Verwenden Sie in IBM Db2 die folgende Anweisung:
DELETE FROM sensitive_areas WHERE names (SELECT sa.names FROM sensitive_areas sa, hazardous_sites hs WHERE db2gse.st_overlaps (sa.zone, db2gse.st_buffer (hs.location,.01)) = 1);
- Informix unterstützt keine Änderungen an Tabellen oder Ansichten, die in einer Unterabfrage verwendet werden. Unterteilen Sie die Abfrage daher in zwei Schritte: Erstellen Sie eine temporäre Tabelle für die Auswahl und führen Sie den Löschvorgang über diese temporäre Tabelle aus.
SELECT sa.name FROM sensitive_areas sa, hazardous_sites hs WHERE st_overlaps (sa.zone, st_buffer (hs.location,.01)) INTO TEMP tempTable; DELETE FROM sensitive_areas WHERE name IN (select name from tempTable);
- Im folgenden Beispiel werden Werte aus einer Tabelle in Oracle basierend auf einem räumlichen Filter gelöscht: