2017-07-14 1 views
1

Quelle est la différence entre boucler le résultat de la requête et boucler sur le curseur explicitement déclaré dans Postgres? Est-ce que la boucle sur le résultat de la requête crée implicitement un curseur?Boucle sur le résultat de la requête par bouclage sur le curseur explicitement déclaré dans Postgres

bouclez résultat de la requête:

FOR v_employee IN 
    SELECT * 
    FROM employee 
    WHERE ... 
LOOP 
    -- Do something with v_employee 
END LOOP; 

bouclez curseur explicitement déclaré:

FOR v_employee IN my_cursor 
LOOP 
    -- Do something with v_employee 
END LOOP; 

Répondre

1

Oui, en boucle par un résultat de la requête utilisera un curseur implicite.

La performance devrait être la même, mais la première syntaxe est souvent plus claire.