22 Voix

Firebird: SELECT avec LIMIT

Question de PC Control | 01/05/2021 à 23:41

J'utilise une base de données Firebird et je voudrais seulement lire une partie du résultat d'une requête, pas tous les enregistrements. Dans MySQL, j'ai toujours utilisé le mot-clé LIMIT à cet effet:

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

En conséquence, la première instruction renverrait les 10 premiers enregistrements de données, la deuxième requête renverrait les lignes 21 à 30.

Malheureusement, lorsque j'utilise la même syntaxe dans Firebird, j'obtiens le message d'erreur suivant:

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

Lors de l'interprétation de cette ligne "Token unknown", il semble que Firebird ne connaisse pas du tout le mot "LIMIT". Je regarde aussi la liste des mots réservés dans Firebird et en effet, LIMIT n'y figure pas.

Existe-t-il néanmoins une possibilité d'effectuer quelque chose comme une requête LIMIT dans Firebird?

RépondrePositifNégatif
2Meilleure Réponse2 Voix

Il y a une "LIMIT" dans Firebird, mais vous devez y utiliser une autre syntaxe.

Dans Firebird, les mots clés FIRST et SKIP sont utilisés pour effectuer une requête limitée. Vous pouvez utiliser ces mots comme ça:

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

La première instruction correspond à votre premier exemple MySQL et lit les 10 premiers enregistrements. La deuxième déclaration correspond à votre deuxième exemple. Cette ligne renvoie 10 ensembles de données après que 20 enregistrements ont été ignorés.

Comme vous pouvez le voir, le SKIP est facultatif et peut être omis au cas où vous ne voudriez avoir que les premiers enregistrements de données du résultat sans sauter de données.
02/05/2021 à 10:47

RépondrePositif Négatif
Répondre

Sujets Connexes

VirtualBox: Changer la Date et l'Heure

Tutoriel | 10 Commentaires

MySQL: Trier par Pertinence

Question | 1 Réponse

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.