Bonjour,
j'utilise une variable pour stocker une liste de valeur :
FOR CSTATUT IN ( SELECT VAL
FROM S_LST_OF_VAL
WHERE TYPE = 'FS_ORDER_STATUS'
AND ORDER_BY >= 20)
LOOP
IF c_cpt_supaconf>0 THEN c_list_statut_Sup_a_conf := c_list_statut_Sup_a_conf || ', '; END IF;
c_list_statut_Sup_a_conf := c_list_statut_Sup_a_conf || '''' || REPLACE(CSTATUT.VAL,'''','''''') || '''';
c_cpt_supaconf := c_cpt_supaconf +1;
END LOOP; |
au bilan cette variable contient bien ma liste de valeur
'Confirmé', 'Echec', 'Soumis(e) - En attente', 'Abandon', 'Facture d''essai', 'Refusé', ... |
mais quand j'utilise cette variable avec un IN dans une requête, ma requête ne retourne jamais rien.
SELECT *
FROM ...
WHERE ...
AND ...
AND ...
AND lignedetail.status_cd in (c_list_statut_Sup_a_conf); |
Pour info si ma liste ne contient qu'une seule valeur, la requête fonctionne.
des idées ?
Merci !
PS : J'ai pensé à un souci avec la virgule, mais je vois pas trop comment faire sans/autrement