CLOSE — Fermer un curseur
CLOSE { nom | ALL }
CLOSE libère les ressources associées à un curseur
ouvert. Une fois le curseur fermé, aucune opération n'est autorisée sur
celui-ci. Un curseur doit être fermé lorsqu'il n'est plus nécessaire.
Tout curseur volatil ouvert (NDT : On parle en anglais de non-holdable cursor, soit
un curseur qui ne perdure pas au-delà de la transaction qui l'a créé) est fermé implicitement lorsqu'une
transaction est terminée avec COMMIT ou
ROLLBACK. Un curseur persistant (NDT : holdable cursor en anglais,
ou curseur qui perdure au-delà de la transaction initiale) est implicitement fermé si la
transaction qui l'a créé est annulée via ROLLBACK. Si
cette transaction est validée (avec succès), ce curseur reste ouvert
jusqu'à ce qu'une commande CLOSE explicite soit lancée ou
jusqu'à la déconnexion du client.
nameLe nom du curseur ouvert à fermer.
ALLFerme tous les curseurs ouverts.
PostgreSQL ne possède pas d'instruction
explicite d'ouverture (OPEN) de curseur ; un curseur
est considéré ouvert à sa déclaration. Un curseur est déclaré à l'aide de l'instruction
DECLARE.
Vous pouvez voir tous les curseurs disponibles en exécutant une requête sur
la vue système pg_cursors.
Si un curseur est fermé après un point de sauvegarde qui est annulé par la
suite, la commande CLOSE n'est pas annulée ;
autrement dit, le curseur reste fermé.
Fermer le curseur liahona :
CLOSE liahona;
CLOSE est totalement conforme au standard SQL.
CLOSE ALL est une extension
PostgreSQL.