FirebirdSQL logo

FIRST, SKIP

affectation

Récupération d’une partie des lignes d’un ensemble ordonné.

Syntaxe
SELECT [FIRST <m>] [SKIP <limit-expression>]
FROM ...
...

<m>, <limit-expression> ::=
    <integer-literal>
  | <query-parameter>
  | (<integer-expression>)
Table 1. Paramètres des fonctions FIRST et SKIP
Paramètre Description

integer-literal

Littéral entier.

query-parameter

Paramètre de la demande? en DSQL et :paramname en PSQL.

integer-expression

Une expression qui renvoie une valeur entière.

Important

FIRST et SKIP ne sont utilisés que dans Firebird, ils ne sont pas inclus dans le standard SQL. Il est recommandé d’utiliser [fblangref-dml-select-fetch-offset] dans la mesure du possible.

L’expression FIRST m limite le jeu de données résultant au nombre spécifié de m enregistrements.

L’expression SKIP saute le nombre spécifié d’enregistrements n avant de sortir le jeu de données résultant.

FIRST et SKIP n sont des expressions facultatives.

Lorsque ces expressions sont utilisées ensemble, par exemple "FIRST m SKIP n, le résultat est que n enregistrements seront ignorés et, parmi les enregistrements restants, m enregistrements seront retournés dans le jeu de données résultant.

Caractéristiques d’utilisation FIRST et SKIP

  • Il est permis d’utiliser SKIP 0 - dans ce cas, 0 enregistrement sera sauté ;

  • Si FIRST 0 est utilisé, un ensemble vide d’enregistrements sera retourné ;

  • Les valeurs négatives de FIRST et SKIP provoqueront une erreur ;

  • Si la valeur spécifiée dans SKIP dépasse la taille du jeu de données résultant, un jeu de données vide sera retourné ;

  • Si le nombre d’enregistrements dans le jeu de données (ou le reste après avoir appliqué SKIP) est inférieur à la valeur spécifiée dans FIRST, un nombre d’enregistrements plus petit sera retourné ;

  • Tout argument FIRST ou SKIP qui n’est pas un entier ou un paramètre SQL doit avoir été mis entre parenthèses. Cela signifie que si une commande SELECT imbriquée est utilisée comme paramètre pour FIRST ou SKIP, elle doit être entourée de deux paires de parenthèses.