Schlüsselbefehl Select

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Der Schlüsselbefehl SELECT ist sehr mächtig. Er liest Datensätze von Datenbanktabellen.

Siehe auch Kategorie Kategorie:Select.

Performance-Tuning

Performance und optimale Selektionen

Kombination Read itab und Select dbtbl

Select form table where Feld LIKE

Select single

Select * vermeiden

Select into itab

Select Key und Index

Select Inner-Join, Select-Endselect oder View

Geschachtelte Selects

For all entries

Eine interessante Alternative zu einem Range, bzw. Select-Options bei einer Select-Abfrage oder einem geschachtelten Loop-Select-Endloop ist der Befehl "FOR ALL ENTRIES". Dieser Befehl ist auch deutlich performanter als wenn man über eine Tabelle loopt und innerhalb des Loops jeweils ein Select-Single.

Siehe auch SAP-Hilfe: For all entries und Tricktresor: For all entries.

select * from sbook into table bookings
  where customid = p_custid
    and carrid   in s_carrid
  order by primary key.

select * from spfli into table connections
 for all entries in bookings
 where carrid = bookings-carrid
   and connid = bookings-connid
 order by primary key.

In der Auflösung auf Datenbankebene verhält sich der Befehl „for all entries“ etwas anders als ein Range/Select-Options. Siehe hierzu https://www.dpunkt.de/common/leseproben//10992/Abschnitt_4.4.pdf, S. 181 ff.. Der Befehl „for all entries“ soll langsamer sein als ein vergleichbarer Range. Aber dafür besteht bei einer sehr großen Vergleichstabelle nicht die Gefahr eines Laufzeitfehlers, wie beim Select-Options/Range.

Parameters und Select-Options

Generische Selects

Tabellennamen

Feldlisten

Where

Order-by

Select Aggregierungsfunktionen (Sum, Max, Min, Avg)

Select into Range-Objekt

Collect

Web-Links