Bonjour,

J'ai un problème avec le script ci-dessous.

A l'éxecution du script, un message d'erreur s'affiche :
"08:47:05 : Ligne 1 : Violation de clé.
ERROR: parser: parse error at or near "DECLARE"
***

A noter : le script est executé sous une base Postgres


BEGIN
DECLARE vCode CHARACTER(49);
DECLARE vDivers CHARACTER(49);
DECLARE vCompteur NUMERIC;
DECLARE vNbEnreg NUMERIC;
-- DECALARATION DU CURSEUR
DECLARE TMP_DIVERS CURSOR FOR SELECT CODE,DIVERS
FROM TMP_DIVERS
WHERE CODE IN (SELECT IF_INDEXE FROM INFO_FICHE
ORDER BY CODE
FOR READ ONLY;
-- OUVERTURE DU CURSEUR
OPEN TMP_DIVERS;
-- CALCUL DU NOMBRE D'ENREGISTREMENT DANS LE SELECT DU CURSEUR
SELECT COUNT(*) INTO vNbEnreg FROM TMP_DIVERS
WHERE CODE IN (SELECT IF_INDEXE FROM INFO_FICHE
ORDER BY CODE;
-- INITIALISATION DU COMPTEUR
SET vCompteur = 0
-- MISE A JOUR DE LA TABLE INFO_FICHE LIGNE PAR LIGNE
WHILE
vCompteur < vNbEnreg DO
FETCH FROM TMP_DIVERS INTO vCode, vDivers;
UPDATE INFO_FICHE SET DIVERS = vDivers WHERE IF_INDEXE = vCode;
SET vCompteur = vCompteur + 1;
END WHILE;
-- FERMETURE DU CURSEUR
CLOSE TMP_DIVERS;

END;

Merci, par avance, pour votre aide précieuse.

Cordialement,

Elois.