FirebirdSQL logo

ROWS

affectation

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

Syntaxe
SELECT <columns> FROM ...
  [WHERE ...]
  [ORDER BY ...]
  ROWS <value-expression> [TO <value-expression>]
Table 1. Paramètres de la clause ROWS
Paramètre Description

value-expression

Toute expression entière.

La clause ROWS a été introduite pour la compatibilité avec Interbase 6.5 et plus.

Contrairement à FIRST et SKIP, la clause ROWS accepte tous les types d’expressions entières comme argument - sans parenthèses ! Bien entendu, les parenthèses peuvent être nécessaires pour effectuer des calculs corrects dans une expression, et la requête imbriquée doit également être entourée de parenthèses.Si le résultat de l’expression n’est pas un entier, il sera converti en entier si possible.

Important
  • La numérotation des enregistrements dans l’ensemble de données commence par 1.

  • Les clauses FIRST/SKIP et ROWS peuvent être utilisées sans la clause ORDER BY, bien que cela ait rarement un sens, sauf si vous voulez jeter un coup d’oeil rapide aux données de la table - les lignes résultantes seront le plus souvent dans un ordre aléatoire. Dans ce cas, une requête telle que SELECT * FROM TABLE1 ROWS 20 renverra les 20 premières entrées plutôt que la table entière (qui peut être très grande).

L’appel de ROWS m renverra les m premiers enregistrements de l’ensemble de données.

Caractéristiques lors de l’utilisation de `ROWS' avec un seul argument

  • Si m est supérieur au nombre total d’enregistrements dans l’ensemble de données retourné, l’ensemble de données entier sera retourné ;

  • Si m = 0, un jeu de données vide est retourné ;

  • Si m < 0, une erreur est retournée.

Si ROWS m TO n est spécifié, les entrées m à n de l’ensemble de données seront retournées.