22 Stimmen

Firebird: SELECT mit LIMIT

Frage von PC Control | Letztes Update am 13.05.2021 | Erstellt am 01.02.2017

Ich benutze eine Firebird-Datenbank und würde gerne nur einen Teil der Datensätze einer meiner Anfragen auslesen. In MySQL habe ich dafür bisher das Keyword LIMIT benutzt:

SELECT col1, col2 FROM tab LIMIT 10;
SELECT col1, col2 FROM tab LIMIT 20, 10;

Das erste Statement würde entsprechend die ersten 10 Datensätze auslesen, das zweite die Reihen 21 bis 30.

Wenn ich nun aber dasselbe Statement in Firebird benutze, erhalte ich folgenden Fehler:

SQLException
Context: Statement::Prepare
Message: isc_dsql_prepare failed
SQL error code = -104
Token unknown: LIMIT

Dieses "Token unknown" habe ich nun so interpretiert, dass Firebird das Wort "LIMIT" gar nicht kennt. Ich habe dann auch in die Liste der reservierten Wörter von Firebird geschaut und tatsächlich ist LIMIT dort gar nicht aufgeführt.

Gibt es trotzdem eine Möglichkeit auch in Firebird so etwas wie eine LIMIT-Anfrage durchzuführen?

AntwortenPositivNegativ
1Beste Antwort1 Stimme

Ja, ein "LIMIT" gibt es auch in Firebird, jedoch musst du dort eine andere Syntax benutzen.

In Firebird läuft das Ganze über die Keywords FIRST und SKIP, die du folgendermaßen verwenden kannst:

SELECT FIRST 10 col1, col2 FROM tab;
SELECT FIRST 10 SKIP 20 col1, col2 FROM tab;

Das erste Statement entspricht deinem ersten MySQL-Beispiel und liest die ersten 10 Datensätze aus. Das zweite Statement entspricht deinem zweiten Beispiel und liest 10 Datensätze aus, nachdem 20 übersprungen wurden.

Wie du siehst ist das SKIP optional und kann weggelassen werden, sofern du die ersten Datensätze haben möchtest ohne irgendwelche Daten zu überspringen.
Letztes Update am 13.05.2021 | Erstellt am 01.02.2017

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

HTML-Formular mit Daten vorbelegen

Tutorial | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.