delete

Die EGL-Anweisung 'delete' stellt die grundlegende Löschfunktionalität für die Sprache bereit. Sie entfernt einen Datensatz aus einer Datei, eine Zeile aus einer relationalen Datenbank oder ein Segment aus einer hierarchischen Datenbank.

In dem meisten Fällen müssen Sie eine temporäre Sperre für einen Datensatz setzen, bevor Sie ihn löschen können. Um eine temporäre Sperre für einen Datensatz zu setzen, verwenden Sie die Anweisung 'get' mit der Option 'forUpdate'.

Das genaue Verhalten der Anweisung hängt von der Art und Weise ab, wie Sie Ihre Datensatzvariable stereotypisiert haben (siehe Stereotype).

Syntax

Syntaxdiagramm für die Anweisung 'delete'
Datensatzvariable
Diese Datensatzvariable enthält die Informationen, die aus der Datenquelle gelöscht werden sollen.
Löschoptionen
In Abhängigkeit davon, wie Sie Ihre Datensatzvariable stereotypisiert haben, können bestimmte Optionen zur Verfügung stehen, die ihre Löschanweisung genauer bestimmen. Nähere Informationen hierzu finden Sie in den Überlegungen für bestimmte Datenzugriffstechnologien.
with expliziter_Code
In Abhängigkeit davon, wie Sie Ihre Datensatzvariable stereotypisiert haben, können Sie hier unter Umständen expliziten Code angeben. Nähere Informationen hierzu finden Sie in den Überlegungen für bestimmte Datenzugriffstechnologien.
from Listen-ID
Wenn Sie nicht mit der Standarddatenquelle arbeiten, die dieser Datensatzvariablen zugeordnet ist, geben Sie hier eine Listen-ID an. Hierbei handelt es sich um die Zeichenfolge, die Sie zur Angabe der Liste verwendet haben, die zuvor in einer EGL-Anweisung 'open' oder 'get' erstellt wurde. Sie müssen die Option 'forUpdate' mit der Anweisung 'open' oder 'get' verwenden, wenn Sie zu einem späteren Zeitpunkt die Anweisung 'delete' ausführen wollen.

Beispiel

Im folgenden Beispiel hat der Benutzer eine Anforderung zum Löschen eines angezeigten Datensatzes übergeben. Das Programm muss die Datensatzvariable, die die angegebenen Informationen enthält, abrufen (get) und mit 'forUpdate' temporär blockieren, bevor der Datensatz gelöscht wird:

  if (userRequest == "D")
    try
      get myCustomer forUpdate;
      onException(ex AnyException)
        myErrorHandler(ex);   // beendet das Programm
    end

    try
      delete myCustomer;
      onException(ex AnyException)
        myErrorHandler(ex);
    end
  end

Feedback