Documentation PostgreSQL 14.22 » Interfaces client » ECPG -- SQL embarqué en C » Commandes SQL Embarquées » DECLARE

Précédent | Niveau supérieur | Suivant
DEALLOCATE DESCRIPTOR | Sommaire | DECLARE STATEMENT

## DECLARE

DECLARE — définit un curseur

## Synopsis

    DECLARE nom_curseur [ BINARY ] [ ASENSITIVE | INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR nom_prepare
    DECLARE nom_curseur [ BINARY ] [ ASENSITIVE | INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR query

## Description

`DECLARE` déclare un cusreur pour itérer sur le jeu de résultat d'une requête préparée. Cette commande a une sémantique légèrement différente de celle de l'ordre SQL direct `DECLARE`. Là ou ce dernier exécute une requête et prépare le jeu de résultat pour la récupération, cette commande SQL embarquée se contente de déclarer un nom comme « variable de boucle » pour itérer sur le résultat d'une requête; l'exécution réelle se produit quand le curseur est ouvert avec la commande `OPEN`.

## Paramètres

`nom_curseur`

  Un nom de curseur, sensible à la casse. Cela peut être un identifiant SQL ou une variable hôte.

`nom_prepare`

  Le nom de l'une requête préparée, soit comme un identifiant SQL ou comme une variable hôte.

`query`

  Une commande SELECT ou VALUES qui fournira les enregistrements que le curseur devra retourner.

Pour la signification des options du curseur, voyez DECLARE.

## Exemples

Exemples de déclaration de curseur pour une requête :

    EXEC SQL DECLARE C CURSOR FOR SELECT * FROM My_Table;
    EXEC SQL DECLARE C CURSOR FOR SELECT Item1 FROM T;
    EXEC SQL DECLARE cur1 CURSOR FOR SELECT version();

Un exemple de déclaration de curseur pour une requête préparée :

    EXEC SQL PREPARE stmt1 AS SELECT version();
    EXEC SQL DECLARE cur1 CURSOR FOR stmt1;

## Compatibilité

`DECLARE` est spécifié dans le standard SQL.

## Voir aussi

OPEN, CLOSE, DECLARE