FETCH - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

FETCH

Extrait les lignes à l’aide d’un curseur. Pour obtenir des informations sur la déclaration d’un curseur, consultez DECLARE.

FETCHrécupère les lignes en fonction de leur position actuelle dans le curseur. Lorsqu’un curseur est créé, il est placé avant la première ligne. Après aFETCH, le curseur est positionné sur la dernière ligne récupérée. S'il FETCH s'exécute à la fin des lignes disponibles, par exemple après un FETCHALL, le curseur est positionné à gauche après la dernière ligne.

FORWARD0 extrait la ligne en cours sans déplacer le curseur, c'est-à-dire qu'il récupère la dernière ligne extraite. Si le curseur est placé avant la première ligne ou après la dernière ligne, aucune ligne n’est retournée.

Lorsque la première ligne d’un curseur est extraite, le jeu complet de résultats est matérialisé sur le nœud principal, en mémoire ou sur disque, si nécessaire. En raison de l’impact négatif potentiel de l’utilisation de curseurs avec des ensembles de résultats volumineux sur les performances, nous recommandons autant que possible l’utilisation d’approches alternatives. Pour plus d'informations, consultez Considérations relatives aux performances lors de l’utilisation de curseurs.

Pour plus d’informations, consultez DECLARE, CLOSE.

Syntaxe

FETCH [ NEXT | ALL | {FORWARD [ count | ALL ] } ] FROM cursor

Paramètres

NEXT

Récupère la ligne suivante. Il s’agit de l’option par défaut.

ALL

Récupère toutes les lignes restantes. (Identique à FORWARDALL.) ALLn'est pas pris en charge pour les clusters à nœud unique.

FORWARD[compter |ALL]

Extrait les nombre lignes suivantes, ou toutes les lignes restantes. FORWARD 0 extrait la ligne actuelle. Pour les clusters à un seul nœud, la valeur maximale de count est 1000. FORWARDALLn'est pas pris en charge pour les clusters à nœud unique.

curseur

Nom du nouveau schéma.

FETCHexemple

L'exemple suivant déclare un curseur nommé LOLLAPALOOZA pour sélectionner les informations de vente pour l'événement Lollapalooza, puis extrait des lignes du jeu de résultats à l'aide du curseur :

-- Begin a transaction begin; -- Declare a cursor declare lollapalooza cursor for select eventname, starttime, pricepaid/qtysold as costperticket, qtysold from sales, event where sales.eventid = event.eventid and eventname='Lollapalooza'; -- Fetch the first 5 rows in the cursor lollapalooza: fetch forward 5 from lollapalooza; eventname | starttime | costperticket | qtysold --------------+---------------------+---------------+--------- Lollapalooza | 2008-05-01 19:00:00 | 92.00000000 | 3 Lollapalooza | 2008-11-15 15:00:00 | 222.00000000 | 2 Lollapalooza | 2008-04-17 15:00:00 | 239.00000000 | 3 Lollapalooza | 2008-04-17 15:00:00 | 239.00000000 | 4 Lollapalooza | 2008-04-17 15:00:00 | 239.00000000 | 1 (5 rows) -- Fetch the next row: fetch next from lollapalooza; eventname | starttime | costperticket | qtysold --------------+---------------------+---------------+--------- Lollapalooza | 2008-10-06 14:00:00 | 114.00000000 | 2 -- Close the cursor and end the transaction: close lollapalooza; commit;