Gilt für relative und indizierte Dateiorganisation
Funktion
Durch eine DELETE-Anweisung wird ein Datensatz einer Plattenspeicherdatei logisch gelöscht.
Format
DELETE dateiname RECORD
[INVALID KEY unbedingte-anweisung-1]
[NOT INVALID KEY unbedingte-anweisung-2]
[END-DELETE]
Syntaxregeln
Für eine Datei, die sich im sequenziellen Zugriffsmodus befindet, darf der Zusatz INVALID KEY in der DELETE-Anweisung nicht angegeben werden.
Für eine Datei, die sich nicht im sequenziellen Zugriffsmodus befindet, ist die Angabe des Zusatzes INVALID KEY obligatorisch, falls keine zutreffende USE-Prozedur vorhanden ist.
Allgemeine Regeln
Die in der DELETE-Anweisung angesprochene Datei muss sich während der Ausführung dieser Anweisung im Eröffnungsmodus I-O befinden (siehe auch „OPEN-Anweisung" ).
Nach erfolgreicher Ausführung der DELETE-Anweisung ist der in Frage kommende Datensatz in der Datei gelöscht.
Die Ausführung einer DELETE-Anweisung beeinflusst nicht den Inhalt des zu der Datei gehörigen Datensatzbereichs oder den Inhalt des Datenelements, das in der DEPENDING ON-Angabe der RECORD-Klausel mit datenname angegeben wurde.
Bei einer Datei, die sich im sequenziellen Zugriffsmodus befindet, muss die der DELETE-Anweisung vorausgegangene Ein-/Ausgabe-Anweisung eine erfolgreich abgeschlossene READ-Anweisung gewesen sein. Zwischen dem Lesen und Löschen darf der RELATIVE KEY (bei relativer Dateiorganisation) bzw. der RECORD KEY(bei indizierter Dateiorganisation) nicht verändert werden. Die DELETE-Anweisung löscht in diesem Fall logisch den durch die READ-Anweisung gelesenen Datensatz aus der Datei.
Nach Ausführung der DELETE-Anweisung wird der Inhalt des für die Datei in der FILE STATUS-Klausel angegebenen Datenfeldes aktualisiert (siehe „FILE STATUS-Klausel").
Die Fortsetzung des Ablaufs der DELETE-Anweisung hängt davon ab, ob INVALIDKEY oder NOT INVALID KEY angegeben ist (siehe „Schlüsselfehler-Bedingung").