Bonjour à toutes et à tous,
Je cherche à utiliser une fonction recursive qui fonctionne correctement lorsque je fais un simple select, mais pas quand je l'insère dans un bloc de fonction.
La fonction est powerset trouvé sur : https://www.postgresql.org/message-i...innie.fuhr.org
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT * FROM powerset2(ARRAY['A','B','C']);Cela fonctionne très bien en SELECT standard, mais lors de l'intégration dans un bloc pgSQL cela ne fonctionne plus : je n'arrive pas à avoir l'ensemble des résultats, j'ai juste :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 ... DECLARE v_test2 text[]; tab_couple varchar[] := ARRAY['A','B','C']; BEGIN FOR v_test2 IN SELECT * FROM "powerset2"(tab_couple) LOOP RAISE NOTICE '%:TEST : %', i,v_test2[i]; i := i + 1; END LOOP; END;
Au lieu de :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 NOTICE: 1:TEST : A NOTICE: 2:TEST : <NULL> NOTICE: 3:TEST : <NULL> NOTICE: 4:TEST : <NULL> NOTICE: 5:TEST : <NULL> NOTICE: 6:TEST : <NULL> NOTICE: 7:TEST : <NULL>
Je demande donc votre aide, car je suis sec sur le sujet... ! J'ai l'impression qu'il y a un problème de déclaration de variable et d'affectation... !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 "{A}" "{B}" "{A,B}" "{C}" "{A,C}" "{B,C}" "{A,B,C}"
Merci d'avance ...
Partager