FirebirdSQL logo
 COMMENTSInstructions de procédure SQL (PSQL) 

Exemples d’utilisation de "OFFSET" et "FETCH".

La requête suivante renvoie toutes les lignes sauf les 10 premières, classées par la colonne COL1 :

SELECT *
FROM T1
ORDER BY COL1
OFFSET 10 ROWS

Cet exemple renvoie les 10 premières lignes ordonnées par la colonne COL1 :

SELECT *
FROM T1
ORDER BY COL1
FETCH FIRST 10 ROWS ONLY

Utilisation des clauses OFFSET et FETCH dans une table dérivée, dont le résultat est à nouveau délimité dans une requête externe.

SELECT *
FROM (
  SELECT *
  FROM T1
  ORDER BY COL1 DESC
  OFFSET 1 ROW
  FETCH NEXT 10 ROWS ONLY
) a
ORDER BY a.COL1
FETCH FIRST ROW ONLY
Voir aussi :

ROWS, "FIRST, SKIP".

FOR UPDATE [OF]

Syntaxe
SELECT ...
  FROM single_table
  [WHERE ...]
  [FOR UPDATE [OF <column-names>]]

La proposition "FOR UPDATE" ne fait pas ce que l’on attend d’elle. Actuellement, son seul effet est de désactiver l’échantillonnage préemptif du tampon.

Tip

Ceci est susceptible de changer à l’avenir : le plan est de vérifier les curseurs marqués comme FOR UPDATE pour voir s’ils peuvent effectivement être mis à jour, et de rejeter les mises à jour positionnelles et les suppressions pour les curseurs classés comme non renouvelables.

La clause `OF' ne fait rien du tout.