Anzahl der anzuzeigenden Datensätze begrenzen - FAQ-Base

From The Document Foundation Wiki
< Faq‎ | Base‎ | 124
Jump to: navigation, search

Wie kann die Anzahl der anzuzeigenden Datensätze einer Abfrage begrenzt werden?

Base hat seit LO 4.1 die Möglichkeit, mit zusätzlichen Abfrageeigenschaften eine Limitierung der auszugebenden Datensätze festzulegen. Für die interne HSQLDB hat diese Einstellung den Vorteil, dass sie zusammen mit der grafischen Benutzeroberfläche funktioniert und auch editierbare Abfragen dadurch erstellt werden. Leider funktioniert diese Limitierung aber nicht mit der internen Firebird-Datenbank.

Die zusätzlichen Abfrageeigenschaften erzeugen eine Abfrage, die das Limit wie in der folgenden Abfrage definiert:

SELECT * FROM "Tabelle" LIMIT 5 (HSQLDB, GUI)

Diese Formulierung kann im SQL-Code noch erweitert werden und liefert dennoch eine Abfrage, die auch editierbar sein kann:

SELECT * FROM "Tabelle" LIMIT 5 OFFSET 10 (HSQLDB, GUI)

In diesem Falle wird erst mit der Ausgabe ab dem 11. Datensatz der Abfrage begonnen. Es werden dann die Datensätze 11 bis 15 angezeigt.

Firebird verwendet eine andere Formulierung für die Begrenzung der Anzeige. Diese Formulierung funktioniert leider nur im direkten SQL-Modus:

SELECT * FROM "Tabelle" ROWs 5 (Firebird, GUI)

bzw.

SELECT * FROM "Tabelle" ROWS 11 TO 15 (Firebird, GUI)

erzeugt hier den gleichen Abschnitt wie die beiden Abfragen, die für die HSQLDB mit der GUI festgelegt werden können.

Beide Datenbanken bieten auch noch die Möglichkeit einer Limitierung gleich zu Beginn des SELECT-Befehls. Für Details hierzu sei auf das Base-Handbuch verwiesen.