FETCH, OFFSET

Les clauses FETCH et OFFSET sont des équivalents compatibles SQL:2008 des clauses FIRST/SKIP et une alternative à la clause ROWS. La clause OFFSET indique le nombre de lignes à sauter. La clause FETCH indique le nombre de lignes à récupérer.

Les clauses OFFSET et FETCH peuvent être appliquées quel que soit le niveau d'imbrication des expressions de la requête.

Syntaxe
SELECT <columns> FROM ...
  [WHERE ...]
  [ORDER BY ...]
  [OFFSET <m> {ROW | ROWS}]
  [FETCH {FIRST | NEXT} [ <n> ] { ROW | ROWS } ONLY]

<m>, <n>  ::=
    <integer-literal>
  | <query-parameter>
Table 1. Paramètres des clauses `OFFSET' et `FETCH'.
ParamètreDescription

integer-literal

integer littéral

query-parameter

Requête paramétrique. ? en DSQL et :paramname en PSQL

Note
  • Firebird ne supporte pas l'indication FETCH en pourcentage, qui est définie dans la norme.

  • Firebird ne supporte pas la proposition FETCH avec l'option WITH TIES définie dans la norme.

  • FIRST .. SKIP et ROWS sont des alternatives non standard.

  • Les clauses OFFSET et/ou FETCH ne peuvent pas être combinées avec les clauses ROWS ou FIRST/SKIP dans la même expression de requête.

  • Les expressions, les références de colonnes, etc. ne sont pas autorisées dans les deux clauses.

  • Contrairement à la proposition ROWS, les propositions OFFSET et FETCH ne sont autorisées que dans l'instruction SELECT.