Ansicht
Dokumentation

ABAPDELETE_DBTAB - DELETE DBTAB

ABAPDELETE_DBTAB - DELETE DBTAB

CL_GUI_FRONTEND_SERVICES - Frontend Services   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

DELETE dbtab

Kurzreferenz



DELETE ${ FROM target $[ connection$] $[ WHERE sql_cond$] $[db_hints$]
                                  $[ORDER BY ... $[OFFSET o$]$] $[UP TO n ROWS$]
$}
     $| ${ target $[ connection$] FROM source $}
       $[MAPPING FROM ENTITY$].



Varianten:

1. DELETE FROM target ...

2. DELETE target FROM source.

3. ... MAPPING FROM ENTITY.

Wirkung

Die -Anweisung DELETE löscht eine oder mehrere Zeilen aus der in target angegebenen DDIC-Datenbanktabelle oder DDIC-Tabellen-View . Die zu löschenden Zeilen können wie folgt angegeben werden:

  • In einer Variante DELETE FROM target über Bedingungen
  • In einer Variante DELETE target FROM über Datenobjekte in source

Mit dem Zusatz connection kann eine Sekundärverbindung angegeben werden.

Systemfelder

Die Anweisung DELETE setzt die Werte der Systemfelder sy-subrc und sy-dbcnt.

sy-subrc Bedeutung
0 In der Variante DELETE FROM target wurde bei Angabe einer WHERE-Bedingung mindestens eine Zeile gelöscht und ohne Angabe einer Bedingung wurden alle bzw. n Zeilen gelöscht. In der Variante DELETE target FROM wurde bei Angabe eines Arbeitsbereichs in source die angegebene Zeile gelöscht und bei Angabe einer internen Tabelle in source wurden alle angegebenen Zeilen gelöscht oder die interne Tabelle ist leer.
4 In der Variante DELETE FROM target wurde bei Angabe einer WHERE-Bedingung keine Zeile gelöscht oder bei Angabe keiner Bedingung wurde keine Zeile gelöscht, da die Datenbanktabelle schon leer war. In der Variante DELETE target FROM wurde bei Angabe eines Arbeitsbereichs in source keine Zeile gelöscht oder bei Angabe einer internen Tabelle in source wurden nicht alle angegebenen Zeilen gelöscht.

Die Anweisung DELETE setzt sy-dbcnt auf die Anzahl der gelöschten Zeilen. Wenn dabei ein Überlauf eintritt, weil die Anzahl der Zeilen größer als 2.147.483.647 ist, wird sy-dbcnt auf -1 gesetzt.

Hinweise

  • Die Zeilen werden beim nächsten Datenbank-Commit endgültig aus der DDIC-Datenbanktabelle gelöscht. Bis dahin können sie durch einen Datenbank-Rollback wieder rückgängig gemacht werden. Die aktuelle Isolationsebene legt fest, ob die gelöschten Daten bereits vor oder nur nach dem Datenbank-Commit in anderen Datenbank-LUWs nicht mehr gelesen werden können.
  • Die Anweisung DELETE setzt bis zum nächsten Datenbank-Commit bzw. -Rollback eine Datenbanksperre in Form einer Schreibsperre, wodurch es bei falscher Verwendung zu einem Deadlock kommen kann.
  • Die Anzahl von Zeilen, die innerhalb einer Datenbank-LUW in die Tabellen einer Datenbank gelöscht werden kann ist datenbankspezifisch dadurch beschränkt, dass ein Datenbanksystem nur eine begrenzte Menge von Daten im Rollback-Bereich und von Sperren verwalten kann.
  • Zu einer Anweisung DELETE FROM dbtab gibt es eine syntaktisch gleiche Anweisung DELETE FROM itab. Wenn eine interne Tabelle den gleichen Namen wie eine DDIC-Datenbanktabelle hat, greift eine solche Anweisung auf die interne Tabelle zu.

Variante 1

DELETE FROM target ...


Wirkung

In der Variante DELETE FROM target werden entweder alle Zeilen gelöscht oder die zu löschenden Zeilen werden durch eine WHERE-Bedingung oder Zusätze ORDER BY, OFFSET und UP TO eingeschränkt.

Beispiel

Löschen einer Zeile einer DDIC-Datenbanktabelle. Die Zeile wird über eine WHERE-Bedingung spezifiziert.

Variante 2

DELETE target FROM source.


Wirkung

In der Variante DELETE target FROM werden entweder eine durch einen Arbeitsbereich bestimmte Zeile oder mehrere durch eine interne Tabelle bestimmte Zeilen gelöscht.

Beispiel

Löschen einer Zeile einer DDIC-Datenbanktabelle. Die Zeile wird über einen Arbeitsbereich spezifiziert.

Variante 3

... MAPPING FROM ENTITY.


Wirkung

Mit dem Zusatz MAPPING FROM ENTITY werden mit abgeleiteten BDEF-Typen typisierte Strukturen und interne Tabellen behandelt. Weitere Information ist im Thema ABAP-SQL-Anweisungen mit MAPPING FROM ENTITY enthalten.






Vendor Master (General Section)   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8620 Date: 20240419 Time: 232616     sap01-206 ( 100 ms )