DECLARE — definit un curseur
DECLARE nom_curseur [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR nom_prepare DECLARE nom_curseur [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR query
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é 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.
Un nom de curseur, sensible à la casse. Cela peut être un identifiant SQL ou une variable hôte.
Le nom de l'une requête préparée, soit comme un identifiant SQL ou comme une variable hôte.
Une commande SELECT(7) ou VALUES(7) qui fournira les enregistrements que le curseur devra retourner.
Pour la signification des options du curseur, voyez DECLARE(7).
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;