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.
name
Le nom du curseur ouvert à fermer.
ALL
Ferme 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.