DELETE [RECORD] [IN] [STATEMENT] [(r)]
|
Dieses Dokument behandelt folgende Themen:
Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.
Verwandte Statements: ACCEPT/REJECT |
AT BREAK |
AT START OF DATA |
AT END OF DATA |
BACKOUT TRANSACTION |
BEFORE BREAK PROCESSING |
END TRANSACTION |
FIND |
GET |
GET SAME |
GET TRANSACTION DATA |
HISTOGRAM |
LIMIT |
PASSW |
PERFORM BREAK PROCESSING
| READ |
RETRY |
STORE |
UPDATE
Gehört zur Funktionsgruppe: Datenbankzugriffe und Datenbankänderungen
Das Statement DELETE dient dazu, einen Datensatz von der
Datenbank zu löschen.
Das Vorhandensein eines DELETE-Statements bewirkt, dass
alle Datensätze, die mit dem betreffenden READ- oder FIND-Statement gelesen werden, in den
Hold-Status gestellt werden.
Die Hold-Logik ist im Kapitel Datenbankzugriffe im Leitfaden zur Programmierung beschrieben.
Das DELETE-Statement darf nicht mit einem
FIND-,
READ- oder
GET-Statement in derselben
Sourcecode-Zeile stehen.
Syntax-Element-Beschreibung
| Syntax-Element | Beschreibung |
|---|---|
(r) |
Statement-Referenz:
Die Notation
Wenn keine Statement-Referenz angegeben wird, referenziert das
|
| DL/I-Datenbanken |
Mit dem Aufgrund von GSAM-Beschränkungen ist das
|
|---|---|
| VSAM-Datenbanken | Das DELETE-Statement ist nicht auf VSAM-ESDS
(Entry-Sequenced Data Sets) anwendbar.
|
| SQL-Datenbanken |
Mit dem Bei den meisten SQL-Datenbanken kann eine mit
|
In diesem Beispiel werden alle Datensätze mit Namen ALDEN
gelöscht.
** Example 'DELEX1': DELETE
**
**
CAUTION: Executing this example will modify the database records!
************************************************************************
DEFINE DATA LOCAL
1 EMPLOY-VIEW VIEW OF EMPLOYEES
2 NAME
END-DEFINE
*
FIND EMPLOY-VIEW WITH NAME = 'ALDEN'
/*
DELETE
END TRANSACTION
/*
AT END OF DATA
WRITE NOTITLE *NUMBER 'RECORDS DELETED'
END-ENDDATA
END-FIND
END
Falls in der VEHICLES-Datei für die Person mit Namen
ALDEN keine Datensätze gefunden werden, wird von der
EMPLOYEES-Datei der Datensatz von ALDEN gelöscht.
** Example 'DELEX2': DELETE
**
**
CAUTION: Executing this example will modify the database records!
************************************************************************
DEFINE DATA LOCAL
1 EMPLOY-VIEW VIEW OF EMPLOYEES
2 PERSONNEL-ID
2 NAME
1 VEHIC-VIEW VIEW OF VEHICLES
2 PERSONNEL-ID
END-DEFINE
*
EMPL. FIND EMPLOY-VIEW WITH NAME = 'ALDEN'
/*
VEHC. FIND VEHIC-VIEW WITH PERSONNEL-ID = PERSONNEL-ID (EMPL.)
IF NO RECORDS FOUND
/*
DELETE (EMPL.)
/*
END TRANSACTION
END-NOREC
END-FIND
/*
END-FIND
END