[PL/Pgsql] Erreur de LOOP
Bonjour,
j'ai les boucles imbriquées suivantes :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| j := 1;
FOR tab IN SELECT unnest(tableau) LOOP
--La première ligne du tableau contient les noms des colonnes, on passe aux suivantes
IF j = 1 THEN
j := j+1;
CONTINUE;
END IF;
i := 1;
FOR elem IN SELECT unnest(tab) LOOP
--La première colonne du tableau contient les noms des lignes, on passe aux suivantes
IF i = 1 THEN
i := i+1;
CONTINUE;
ELSE IF elem IS NOT NULL THEN
trouve := 1;
END IF;
--Si la ligne contient au moins une case non nulle, elle est gardée et on passe à la ligne suivante
IF trouve = 1 THEN
RETURN NEXT tab;
EXIT;
END IF;
END LOOP;
END LOOP; |
avec i, j et trouve des entiers, tableau un tableau à 2 dimensions de varchar, tab un record et elem un varchar.
Je veux récupérer toutes les lignes de tableau qui ont au moins un élément non nul : éliminer toutes les lignes nulles.
A noter que les premières ligne et colonne du tableau contiennent des titres. C'est un tableau croisé.
Lorsque j'exécute, j'ai l'erreur suivante :
Code:
1 2 3 4 5 6 7 8 9
| ERREUR: erreur de syntaxe sur ou près de « LOOP »
LINE 113: END LOOP;
^
********** Erreur **********
ERREUR: erreur de syntaxe sur ou près de « LOOP »
État SQL :42601
Caractère : 2018 |